策略模式
概念
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
类图
说明
以上是儿时游戏机的魂斗罗的火力设计模型,自己的理解.图中主要有火力的超级类,所有火力均实现此类.火力的模型被设计为策略模型,在实现开火方式时,我们只要在已存在的火力模型中选择一种火力即可.这样,会把实现开火的子类具有共同开火方式的角色封装成一个模型,而且可以在动态的切换模型.
应用
hibernate主键生成策略,网站上传图片时保存Png,jpg的算法,切换排序算法等.
优缺点
优点:适当减少了代码的冗余,实现算法之前的动态切换缺点:需要去了解所有的策略方知使用何总策略,这样,会比较费时.以上内容均为个人观点,欢迎批评指正.