摘要:
定义:它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。 策略模式是一种定义一系列算法的方法,从概念上来家看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有算法,减少了各种算法类于使用算法之间的耦合。 基本代码如下: st 阅读全文
摘要:
定义:动态的给一个对象添加游戏欸额外的职责,就增加功能来说,装饰模式比生成子类更灵活。 注意他与建造者的区别:它的建造过程是不稳定的,二建造者的建造过程是稳定的。 Component定义一个对象接口,可以给这些对象动态的添加职责。 ConcreteComponent 是定义了一个具体的对象,也可以给 阅读全文
摘要:
定义:如果将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。 什么时候使用建造者? 主要用于创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。 将一个复杂对象的构建与它的表示分开,使得同样的构建过程可以创建不同的表示。如果我们 阅读全文
摘要:
工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性。但是在实际的应用中,一个工厂不止会创建单一的产品,而是一系列的产品,这就引入了抽象工厂的概念。解决涉及多个产品系列的问题。 大家都知道利用抽象工厂模式可以切换数据库的访问,那具体怎么做呢?这里介绍两种方式:利用简单工厂改进传统 阅读全文