您的位置:首页 > 其它

设计模式之抽象工厂模式

2016-05-19 20:34 309 查看
[b]抽象工厂模式:[/b]提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

  [b]也许应该换一种方式,或许应该先把类图给大家呈现出来。感觉前面的模式讲解因为代码过多,估计没有多少人能够坚持看下去。[/b]

  不过在给出大家类图之前还是建议将之前的pizza店中的工厂模式看一下,因为这个类图还是基于上面的例子。看着英文的名字大致也可以明白类图。

  



  在这里同样给出工厂方法的类图,大家通过比较来看一下两个模式之间的不同点:

  



  在这里就不在给那些长且无用的代码了 (给了也没人看,~~~~(>_<)~~~~)

  那么我们现在做一个简单的总结吧。毕竟我们已经在设计模式这条路上走了一段距离:

  [b]OO基础:抽象、封装、继承、多态[/b]

[b]  OO原则:[/b]

[b]    1.封装变化;[/b]

[b]    2.多用组合,少用继承;[/b]

[b]    3.针对接口编程,不针对实现编程;[/b]

[b]    4.为交互对象之间的松耦合设计而努力;[/b]

[b]    5.类应该对扩展开放,对修改封闭;[/b]

[b]    6.依赖抽象,不要依赖具体类[/b]

[b]  OO模式:[/b]

[b]    1.策略模式 定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。[/b]

[b]    

[/b]

[b]    2.观察者模式 在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。[/b]

[b]    

[/b]

[b]    3.装饰者模式 动态的将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。[/b]

[b]    

[/b]

[b]    4.工厂方法模式 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。[/b]

[b]    

[/b]

[b]    5.抽象工厂模式 提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类[/b]

[b]    

[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: