目前的目标是更新设计模式,先说设计模式通用的一些东西。
设计模式六大原则
1、单一职责原则SRP(Single Responsibility Principle)
指一个类只负责一件事情,只有一个职责。对一个类而言,能引起它变化的原因应该只有一个。如果有一个以上,那么就应该考虑将这个类进行拆分。
2、里氏替换原则LSP(Liskow-Substitution-Principle)
所有使用基类的地方都必须能透明的使用其子类对象。在软件中,有一个地方使用了基类,那么我应该可以在这个地方使用它的一个子类而不出现任何错误,但是反过来不成立。即在程序实现的过程中,我们应该使用基类来进行定义,在具体运行时再使用子类对基类进行替换(尽量将基类声明为抽象类或接口)。
3、依赖倒转原则DIP(Dependency Inversion Principle)
抽象不应该依赖于细节,细节应当依赖于抽象,要针对接口编程,而不是针对实现编程。其实就是依赖注入。我们应该让程序依赖于一个个的接口,然后通过依赖注入的方式,在需要的时候将实际类注入到其他对象中。而其他对象本质上是依赖于被注入对象的接口。
4、开放封闭原则OCP(Open Closed Principle)
算是面向对象的通用原则,程序的实现应该对扩展开放,对修改封闭。
5、接口隔离原则ISP(Interface Segregation Principle)
当一个接口太大的时候,我们需要将它分割成更细小的接口。每个接口承担独立的角色,只干自己该做的事情。通常情况下,接口可以包含为某一类用户定制就行。例如我们用户是钓鱼的人,那么接口就应该包含挂钩,取钩等相关方法,而开船、卖鱼这种方法就没必要了。
6、迪米特法则LOD(Law Of Demeter)
该法则主要用于降低系统的耦合度。它要求在设计时,应该尽量减少对象之间的交互,如果两个对象不是必须直接通信,那么就不要让这两个对象直接相互作用。如果一个对象需要调用另一个对象,那么可以引入一个合理的第三者来做相应的调用,而不是让它直接来进行调用,以此降低系统的耦合度。
ULM图简介
ULM图主要用于分析系统的架构
虚线箭头指向依赖;实线箭头指向关联
虚线三角指向接口;实线三角指向父类
空心菱形能分离而独立存在,是聚合;实心菱形紧密关联不可分,是组合

posted on
浙公网安备 33010602011771号