关闭

设计模式

90人阅读 评论(0) 收藏 举报
分类:

设计模式

  1. 概念

设计模式是为解决特定场景下的问题而定制的解决方案
总之就是为解决一类面向对象的问题而总结的方案

  1. 面向对象的六大基本原则

单一职责原则(SRP,Single Responsibility Principle)
对于一个类,应该有且仅有一个引起它变化的原因

开闭原则(OCP, Open Close Principle)
软件系统中的各种组件,如模块、类。方法等,应该在不修改现有代码的基础上引入新功能。即对修改封闭,而对扩展开放。

里式替换原则(LSP,Liskpv Substitution Principle)
把父类替换为它的子类,程序的行为没有变化

接口隔离原则(ISP, Interface Segregation Principle)
客服端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上。也就是说接口中的方法应该尽量的少。
例如 UITableView中的dataSource和delegate。

依赖倒置原则(DIP,Dependence Inversion Principle)
上层模块不应该依赖于下层模块,两者都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。
面向接口编程。

迪米特法则(LoF, Low of Demeter)
如果两个类不必彼此直接通信,他们就不应当发生直接的相互作用。如果其中一个类需要调用另外一个类的方法,可以通过第三者转发该调用。
在类的节后设计上,每个类都应当尽量降低成员的访问权限。
也叫最少知识原则(LKP,Least Knowledge Princople)或者只和直接朋友交流。

  1. 设计模式之工厂模式

单工厂模式(Simple Factory Pattern)

  • 适用场景:
    • 产品种类少
    • 用户不关注产品创建细节

优点:

工厂类包含必要的判断逻辑,用户无需了解对象创建的具体细节,有利于优化软件结构。

缺点:

1.工厂类不但要处理对象创建的细节,而且要判断创建何种对象,违背了“单一职责原则”,导致系统丧失灵活性和可维护性

2.在添加产品类型后,需要同时修改工厂类,违背了“开闭性原则”,每次都需要重新编译工厂类。

工厂方法模式(Factory method Pattern)

  • 适用场景:

    • 当一个类不知道它所需要创建的对象的类时。
    • 需要将一个对象的创建延时子类中实现时。

优点:

1遵守了依赖倒置原则

2.良好的封装性,调用者只需要知道具体的产品类,而不需要知道如何创建它

3.良好的扩展性,增加产品的时候,基本不需要修改工厂类

缺点:
增加产品类的实现,客户就增加一个特定的工厂子类。

抽象工厂模式(Abstract Factory Pattern):待续

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4198次
    • 积分:147
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条