设计模式

设计模式

借用百度百科所说:

​ 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。

​ 使用设计模式的目的就是为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

23种设计模式被分为创建型模式结构型模式行为型模式三种模式

创建型模式:

·工厂方法模式

·抽象工厂模式

·单例模式

·建造者模式

·原型模式

对比总结:
·工厂方法模式:为不同子类创建不同工厂;
·抽象工厂模式:为不同系列建造不同工厂;
·单例模式:保证实例唯一;
·建造者模式:为不同类组装出一套相同的方法;
·原型模式:实现深拷贝。

结构型模式

·代理模式

·适配器模式

·外观模式

·装饰器模式

·桥接模式

·享元模式

·组合模式

行为型模式

·职责链模式

·策略模式

·状态模式

·观察者模式

·迭代器模式

·备忘录模式

·命令模式

·模板方法模式

·中介者模式

·解释器模式

·访问者模式

面向对象设计原则

1、依赖倒置原则(DIP)
·高层模块不应该依赖低层模块,两者都应该依赖其抽象;
·抽象不应该依赖细节;
·细节应该依赖抽象。

2、开放封闭原则(OCP)
·对扩展开放,对更改封闭。
·类模块应该是可扩展的,但是不可修改。
·如何做到:抽象、封装

3、单一职责原则(SRP)
·一个类应该仅有一个引起它变化的原因。
·单一职责适用于接口、类,同时也适用于方法,即一个方法尽可能做一件事情。

4、Liskov替换原则(LSP)
·子类必须完全实现父类的方法
·子类可以有自己的个性。
·覆盖或实现父类的方法时输入参数可以被放大。
·覆写或实现父类的方法时输出结果可以被缩小
即如果父类的一个方法的返回值是一个类型T,子类的相同方法(重载或覆写)的返回值为S,那么里氏替换原则就要求S必须小于等于T,也就是说,要么S和T是同一个类型,要么S是T的子类。
·子类必须能替换掉它们的父类。

5、接口隔离原则(ISP)
·不应该强迫客户程序依赖它们不用的方法。
·类间的依赖关系应该建立在最小的接口上。。
·即建立单一接口,不要建立臃肿的接口,接口应该尽量细化。

6、最小知道原则(迪米特原则)
·一个类应该对自己需要耦合或调用的类知道得最少,使得系统功能模块相对独立。
·一个模块的修改尽量,尽量少的影响其他模块。
·迪米特法则要求类尽量不要对外公布太多的public方法和非静态的public变量,尽量内敛,多使用private、package-private、protected等访问权限。

7、组合/聚合复用原则
·类继承通常为“白箱复用”,对象组合通常为“黑箱复用” 。
·继承在某种程度上破坏了封装性,子类父类耦合度高。
·而对象组合则只要求被组合的对象具有良好定义的接口,耦合度低。
`如:代理模式、装饰模式、适配器模式等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值