开发模式的原则


单一职责原则(SRP:Single responsibility principle)又称单一功能原则,指就一个类而言,应该仅有一个引起他变化的原因。


原则产生的原因:

   假设类A负责两个不同的职责,B和C,当B的需求有变化而修改A的时候,可能会导致C功能发生故障,也就是说B和C的功能耦合在一起了。


解决办法:

    将职责分解,让一个类只负责一个职责。

----------------------------------------------------------------------------------------------------------------

开放-封闭原则:(OCP,Open Closed Principle)是所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化、降低耦合,而开放封闭原则正是对这一目标的最直接体现。其他的设计原则,很多时候是为实现这一目标服务的。


扫描二维码关注公众号,回复: 2629047 查看本文章

原则产生的原因:

   因为软件开发过程中需求总是在不断地变动,所以我们如何尽可能的在需求变动后还能使用现有的程序进行修改,这就产生了开放-封闭原则,通过对类功能的扩充和类已有功能的封闭使得软件开发变更容易。


解决办法:

   对于已经写好的功能尽可能的不做修改,而是添加新的功能。

----------------------------------------------------------------------------------------------------------------

依赖倒转原则:

  依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。


原则产生原因:

  面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变动时上层也要跟着变动,这就会导致模块的复用性降低而大大提高了开发的成本,面向对象的开发让用户程序依赖于抽象,实现的细节也依赖于抽象。即使实现细节不断变动,只要抽象不变,客户程序就不需要变化。这大大降低了客户程序与实现细节的耦合度。

解决办法:

   添加一个接口或者类,高层模块关联接口或者类,底层模块继承接口或者类。

----------------------------------------------------------------------------------------------------------------

里式替换原则:

 里氏替换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。      

---------------------------------------------------------------------------------------------------------------

迪米特法则:

     迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD.  

解决办法:

  如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。                               

猜你喜欢

转载自blog.csdn.net/wjf1997/article/details/80039848