读书笔记
设计原则
设计原则是在进行软件系统设计时所要遵循的一些经验准则,应用该准则的目的通常是为了避免某些经常出现的设计缺陷。
-
单一职责原则 (Single responsibility principle)
不要存在多于一个导致类变更的原因。对类来说的,即一个类应该只负责一项职责。
-
开闭原则(Open Close Principle)
开闭原则的意思是:对扩展开放,对修改关闭。
在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。
-
里氏代换原则(Liskov Substitution Principle)
所有引用基类的地方必须能透明地使用其子类的对象。
只要父类能出现的地方,子类就可以出现,并且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但反之,未要求。
-
依赖倒转原则(Dependence Inversion Principle)
这个原则是开闭原则的基础,具体内容为:针对接口编程,依赖于抽象而不依赖于具体。
-
接口隔离原则(Interface Segregation Principle)
这个原则是指:使用多个隔离的接口,比使用单个接口要好。
它还有另外一个意思是:降低类之间的耦合度。由此可见,其实设计模式就是从大型软件架构出发、便于升级和维护的软件设计思想,它强调降低依赖,降低耦合。
-
迪米特法则,又称最少知道原则(Demeter Principle)
最少知道原则是指:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。
-
合成复用原则(Composite Reuse Principle)
合成复用原则是指:尽量使用合成/聚合的方式,而不是使用继承。
设计模式
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
使用设计模式是为了 可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
设计模式分为三大类:
- 创建型模式:提供创建对象的机制,增加已有代码的灵活性和可复用性。
包括:工厂方法模式、抽象工厂模式、生成器模式、原型模式、单例模式
- 结构型模式:介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效。
包括:适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式
- 行为模式:负责对象间的高效沟通和职责委派。
包括:责任链模式、命令模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式
心得体会
我认为设计原则是我们平时进行软件设计时需要遵守的准则,谨记设计原则能避免某些经常出现的设计缺陷。但在实际的软件设计中,设计原则只是一种潜移默化影响我们的准则,更常使用的是设计模式,设计模式作为工具或模板能在软件设计中给予我们很大的帮助。
设计模式提供了一套软件设计的模板给我们使用,在软件设计的过程中,我们可以合理使用合适的软件设计模式解决各种问题,使设计出来的代码更合理,更利于维护。同时设计模式定义了一种团队成员之间能更高效沟通的通用语言,使用正确的设计模式,让团队成员高效地进行合作与开发。