面向对象设计中常见的设计原则

       今天起开始看设计模式,然后就去了解了一下面对对象的设计原则,说几个被广泛接受且通用的设计原则。网上有很多这方面的介绍,这里就简单说下,自己所了解到的一些东西。 

  • 设计模式是针对一类问题提出的,不是为了某一个问题而生。换一句更通俗的话来说,就是某一些大牛级别的程序员在写代码的时候,遇到问题之后,想了一个更好的解决方法。在解决问题的基础上,又同时维护了系统的的稳定以及使得代码有了更好的扩展性,从而也就有了设计原则和设计模式等的出现。当然以上,纯属个人理解。
  • 官方的正解是:解决同一种类型的问题,使用设计模式可以让代码结构更加清晰。
  • 之前看到的一篇文章,有讲到关于程序员的一个本质区别就是,设计思想。这也就是面试的时候可以从简单小程序中发现程序员的差别的原因。
  • 单一职责原则: 一个对象应该只包含单一的职责,且职责被完整封装在一个类中/就一个类而言,应该仅有一个引起它变化的原因。

  • 开-闭原则:让类依赖于固定的抽象,所以修改是封闭。对抽象编程而不对具体编程[抽象相对稳定]面对需求增加新代码而不改变代码。
  • 里氏替换原则:任何基类(父类)可以出现的地方,子类一定可以出现。这个我理解的还不是很清楚。。。。
  • 依赖倒置原则:依赖抽象(父类)编程;依赖细节(实现,接口)编程。
  • 接口隔离原则:若接口太大[胖接口],使用多个专门的接口,而不是单一的总接口。
  • 最少知识原则(迪米特法则):尽量避免对外界的调用。
  • 少用继承多用组合(合成复用):可以声明实例,而不是继承达到复用的目的。
  • 上述原则的主要作用:让自己设计实现出来的软件系统更加稳定,容易维护,并具有一致性。
  • [扩展]耦合性:对外界的依赖越高,和外界的连接就越多,耦合性就越高;反之,耦合性越低。同样的道理,代码之间应该尽可能的降低不同类之间的耦合性,增加复用性和扩展性。

     

 

posted @ 2018-05-07 20:51  icon_sunny  阅读(136)  评论(0编辑  收藏  举报