1294 不同国家的天气类型

避坑 : CentOS7安装MySQL客户端mycli

  返回  

面向对象6大原则

2021/8/21 18:12:59 浏览:

面向对象6大原则

宗旨:高内聚,低耦合,最大限度复用代码,降低后续软件维护成本。
在这里插入图片描述

单一职责原则(Single Responsibility Principle)

明确每个类的功能角色定位,界定好职责边界。一款成功的软件犹如一个紧密协调的团队,每个团队成员各司其职,分工明确。专业的事情交给专业的人去做,这是面向对象单一职责原则的最好体现。这样的好处是,软件的每个功能都能够内聚起来,形成专一性,为后续功能升级或者Bug链路追踪定位提供便捷性。职责边界划分是一门艺术,在现实生活中,每个对象都与外界存在千丝万缕的联系,甚至在不同时间不同场景下的职责可能都不相同,这就需要开发者们揣摩好产品需求,抓住主要矛盾进行软件设计。

最少知道原则(Least Knowledge Principle LKP)

又称为迪米特法则,就是说一个对象应当对其他对象有尽可能少的了解,降低类之间的耦合,这可以看做单一职责原则的拓展延续。最少知道原则可以降低类与类之间的耦合,但同样也会引入更多的中介类来实现与功能类之间的相互沟通,这个需要权衡。

接口隔离原则(InterfaceSegregation Principles)

接口隔离原则表明客户端不应该被强迫实现一些他们不会使用的接口,应该把肥胖接口中的方法分组,然后用多个接口代替它,每个接口服务于一个子模块。接口定义要有限度,对接口细化可以增加灵活性,但是过度细化则会使设计复杂化。同时接口的使用率不高,提高了代码的维护成本。

依赖置换原则(Dependence Inversion Principle)

sping容器管理就是很好依赖控制反转和依赖注入,他们都有一个共同点就是:

  • 上层模块不应该依赖于底层模块,它们都应该依赖于抽象。
  • 抽象不应该依赖于细节,细节应该依赖于抽象。

应用该原则意味着上层类不直接使用底层类,他们使用接口作为抽象层。这种情况下上层类中创建底层类的对象的代码不能直接使用new 操作符。可以使用一些创建型设计模式,例如工厂方法,抽象工厂和原型模式。模版设计模式是应用依赖倒转原则的一个例子。当然,使用该模式需要额外的努力和更复杂的代码,不过可以带来更灵活的设计。不应该随意使用该原则,如果我们有一个类的功能很有可能在将来不会改变,那么我们就不需要使用该原则。

里氏替换原则(Liskov Substitution Principle)

里氏替换原则体现在类的继承与多态方面, 它的主旨就是,能够使用基类的地方,必然也能够透明的使用其子类,并且保证不会出错。为了保证这种透明的无差别的使用,子类在使用时不应该随意的重写父类已经定义好的非抽象的方法。通俗点讲,只要父类能出现的地方子类就可以出现。但是,反过来就不行了,有子类出现的地方,父类未必就能适应。这就保证了子类是基类的继承拓展,实现程序的灵活性。

开闭原则(Open Close Principle)

开显然是指程序是可拓展的、开放的,闭则是指程序是内敛的,不易改变的,二者天生矛盾。开闭原则更多是体现在程序生命周期上,即软件是不断升级迭代的、可拓展的,但是已有的、已发布的功能不应当受到影响,更多体现闭源性。为了防止程序的臃肿、无止休的庞大,产品设计阶段应当充分考虑业务的延续性,把握好开闭的度,避免后期程序代码出现过多的版本控制。

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号