邯郸软件开发-软件开发公司-软件定制开发公司-万帮
- 供应商
- 邯郸市万帮会计咨询服务有限公司
- 认证
- 报价
- ¥1500.00元每套
- 联系电话
- 0310-3334555
- 手机号
- 13703109979
- 经理
- 刘璐
- 所在地
- 河北省邯郸市邯山区光明南大街城市新秀写字楼18层
- 更新时间
- 2024-12-04 08:00
任何基类可以出现的地方,子类一定可以出现。 lsp是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。
在使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类已经实现了的方法。
里氏替换原则告诉我们,继承实际上让两个类耦合性增强了,在适当的情况下,可以通过聚合、组合、依赖来解决问题。
客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在小的接口上。
提供尽可能小的单独接口,而不要提供大的总接口。暴露行为让后面的实现类知道的越少越好。
建立单一接口,不要建立庞大的接口,尽量细化接口,接口中的方法尽量少。
接口是设计时对外部设定的约定,通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。
a.高层模块不应该依赖底层模块。两个都应该依赖抽象
b.抽象不应该依赖细节。细节应该依赖抽象。
简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
跟面向对象的多态意思很相像。
核心思想就是面向接口编程,使用抽象的目的是制定规范,不涉及任何具体的操作,把展示细节的任务交给实现去完成。(跟里氏代换、接口隔离,有很大关系,后都是为了要维持开闭原则)
采用依赖倒置原则可以减少类间的耦合性,提高系统的稳定性,减少并行开发引起的风险,提高代码的可读性和可维护性。
尽量使用组合、聚合,尽量不要使用类继承
合成复用原则就是指在一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有的对象,使之成为新对象的一部分;新对象通过委派调用已有对象的方法达到复用其已有功能的目的。简言之:要尽量使用组合/聚合关系,少用继承。
在面向对象设计中,可以通过两种基本方法在不同的环境中复用已有的设计和实现,即通过组合/聚合关系或通过继承。
组合/聚合复用原则可以使系统更加灵活,类与类之间的耦合度降低,一个类的变化对其他类造成的影响相对较少,因此一般使用组合/聚合来实现复用;其次才考虑继承,在使用继承时,需要严格遵循里氏代换原则,有效使用继承会有助于对问题的理解,降低复杂度,而滥用继承反而会增加系统构建和维护的难度以及系统的复杂度,因此需要慎重使用继承复用。
如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
类与类之间的关系越密切,耦合度也就越来越大,只有尽量降低类与类之间的耦合才符合设计模式;对于被依赖的类来说,无论逻辑多复杂都要尽量封装在类的内部;每个对象都会与其他对象有耦合关系,我们称出现成员变量、方法参数、方法返回值中的类为直接的耦合依赖,而出现在局部变量中的类则不是直接耦合依赖,也就是说,不是直接耦合依赖的类好不要作为局部变量的形式出现在类的内部。
一个对象对另一个对象知道的越少越好,即一个软件实体应当尽可能少的与其他实体发生相互作用,在一个类里能少用多少其他类就少用多少,尤其是局部变量的依赖类,能省略尽量省略。同时如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一方法的话,可以通过第三者转发这个调用。