OO设计原则

  • Post author:
  • Post category:其他


模式还是原则?

私以为,设计原则就像授之以渔,设计模式就像授之以鱼。

更侧重学习设计原则的原因

  1. OO设计模式有很多,基础的设计模式为大名鼎鼎的GOF23设计模式,另外还有很多种特定领域的设计模式。套路太多。
  2. 设计模式是对设计原则实践的经验总结,可以让代码模块解耦,易于扩展和维护。随着微服务的推广,每一个功能模块都可以分离出一个独立的服务,并通过restFul接口调用进行功能模块间的解耦。微服务推广本身项目在系统架构进行了解耦。
  3. 在设计一个工程的时候,简单的设计就是强大的设计,刻意去用设计模式,反而会给项目的维护和扩展带来麻烦。专注于模式,会造成形而上学的刻板,反而无法自然的使用模式。

因此

在学习OO设计模式的时候,不应拘泥于模式,要在其体现的设计原则上倾注更多的思考和学习。

OO设计原则,共有如下几项:

  • 封装变化
  • 多用组合,少用继承
  • 针对接口编程,不针对实现编程
  • 为交互对象之间的松耦合设计而努力
  • 类应该只对扩展开放,对修改关闭
  • 依赖抽象,不要依赖具体类
  • 只和朋友交谈(外观模式)
  • 别找我,我会找你(模板模式)
  • 类应该只有一个改变的理由

我将在后面的文章中,对head first pattern一书做总结,并花更多的精力和心思在设计原则的总结上。



版权声明:本文为dshf_1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。