设计模式

原创 2016年06月02日 12:14:48

设计模式

  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):待续

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java中的23种设计模式与7大原则

Java中的23种设计模式与7大原则 创建型模式 结构型模式 行为型模式 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 组合/聚合复用原则

C#设计模式

  • 2017-04-06 13:42
  • 2.35MB
  • 下载

php设计模式

  • 2017-02-22 17:56
  • 1.03MB
  • 下载

java设计模式进阶_template-method

// // // Generated by StarUML(tm) Java Add-In // // @ Project : Untitled // @ File Name : Stealin...

设计模式之禅

  • 2016-11-19 23:23
  • 15.44MB
  • 下载

设计模式(23种 C#源码)

  • 2017-03-22 10:36
  • 595KB
  • 下载

设计模式:Decorator

设计模式:装饰者模式

HEAD_FIRST设计模式.pdf

  • 2017-08-08 15:57
  • 38.14MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)