摘要:
工厂模式细分有三种,分别为:简单工厂模式、工厂方法模式、抽象工厂模式现单个的讲,最后再讲这三个的区别这篇文章主要通过一个农场的实例来讲解,这也是java与模式书中的例子,只不过我对一些部分进行了简化,一些部分进行了扩充,以帮助理解例子如下:有一个农场公司,专门向市场销售各类水果有如下水果:葡萄(grape)草莓(strawberry)苹果(apple)简单工厂模式:这个比较简单,写一下源代码源代码中给出了必须的注释代码比书上的要简单一些,排版也好看一些,只是为了让新手更好的理解Fruit.java:public interface Fruit{/*** 水果与其它植物相比有一些专门的属性,以便 阅读全文
摘要:
定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。类型:行为类模式类图: 策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在前面说过的行为类模式中,有一种模式也是关注对算法的封装——模版方法模式,对照类图可以看到,策略模式与模版方法模式的区别仅仅是多了一个单独的封装类Context,它与模版方法模式的区别在于:在模版方法模式中,调用算法的主体在抽象的父类中,而在策略模式中,调用算法的主体则是封装到了封装类Context中,抽象策略Strategy一般是一个接口,目的只是为了定义规范,里面一般不包含逻辑。其实,这只是通用实现 阅读全文