设计模式七大设计原则:

多姑娘
• 阅读 1084

设计模式的七大设计原则:
单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则(最少知道原则)、合成复用原则
设计原则的核心思想:为松耦合而设计
单一职责: 一个类只具有一个职责,而不具有多个职责,,比如一个用户服务类中应该只有与用户有关的功能实现,而不是包含比如其他模块的职责(类的细分)

接口隔离: 每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干。(接口的细分)

依赖倒转: 依赖倒转的中心思想是:面向接口编程
底层模块(比如子类)依赖于接口或者抽象类,程序稳定性更好
依赖传递的三种方式:1)接口传递 2)构造器传递 3)setter方式传递

里氏替换:(一句话:少重写继承父类的方法)
是基于编程中,如何正确的使用继承的问题所提出的一种原则
里氏替换原则:子类中尽量不要重写父类的方法,类之间的继承关系实际上是让两个类之间的耦合性更强了,避免这种耦合性带来的代码侵入性问题和代码可移植性差问题,可以通过聚合,组合,依赖来解决问题
通用的做法:原来的父类和子类都继承一个更通俗的基类,原有的继承关系去掉,采用依赖、聚合、组合等关系替换

开闭原则: 对扩展开放,对修改关闭
如果需要修改或者新增功能,通过扩展代码来实现,而不是通过修改已有代码来实现

迪米特法则: 最少知道原则,只与最直接的朋友通讯,如果两个类,A类依赖B类,最好通过B类的public方法去调用,至于B类中具体怎么实现的A类并不关心,这样降低类之间的耦合

合成复用原则: 尽量使用合成/聚合的方式,而不是去使用继承

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java之设计模式
看了设计模式,感觉自己很多不理解什么意思,通过看博客别人写的理解,总结了一下,方便查阅。一、设计模式六大原则1、单一职责原则:定义:应该有且只有一个原因引起类的变化。注意:这里的类不光指类,也适用于方法和接口,比如我们常说的一个方法实现一个功能。2、开放封闭原则:定义:类、模块、函数等
zdd小小菜鸟 zdd小小菜鸟
2年前
设计模式–六大原则
设计模式–六大原则tex在238中设计模式中,我们提炼出了六大面向对象设计原则我们可以不知道那数量繁多的设计模式,但一定要记住这六大设计原则1.开闭原则(OpenClosePrinciple
zdd小小菜鸟 zdd小小菜鸟
2年前
设计模式面试
设计模式面试1.单例设计模式使用设计模式为了代码复用,增加可维护性。设计模式的六大原则:开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、迪米特法则(最少知道原则)、合成/聚合复用原则Singleton(创建):保证一个类仅
xiguaapp xiguaapp
4年前
一句话总结java七大设计原则
开闭原则:对扩展开放,对修改关闭。依赖倒置原则:高层应该不依赖地层。单一职责原则:一个类只干一件事儿。接口隔离原则:一个接口只干一件事儿迪米特法则:不该知道的就不要知道。里氏替换原则:子类重写方法功能发生改变,但是不影响父类方法的语义。合成复用原则:尽量使用组合实现代码复用,不要用继承,要解耦。
待兔 待兔
3年前
彻底弄懂类设计原则之 - 单一职责原则
类设计原则之单一职责类的设计原则之单一职责原则,是最常用的类的设计的原则之一英文:SRP,SimpleResponsibilityPrinciple中文:单一职责原则这是面向对象类设计中的第一个原则,也是看起来最简单的一个原则,但是实际上远远没有这么简单,很多人不一定真正理解了!类设计,通俗的讲就是怎么去写一个类更好,应该遵循什么样的原则
待兔 待兔
3年前
彻底弄懂类设计原则之 - 开闭原则
类设计原则之开闭原则OCP,OpenClosedPrinciple,中文翻译为开闭原则当第一次看到OCP时,我就蒙了,什么开,什么闭啊,完全摸不到头脑然后就去网上找各种博客,各种解释,最多的一种就是:对扩展开放,对修改关闭当时我就更蒙了,去问了很多“高手”,他的回答让我更加迷茫:不修改代码就可以增加新功能这是多么神奇的事啊,不修改代码
Wesley13 Wesley13
3年前
GOF二十三种设计模式之工厂模式
先说一下面向对象设计的基本原则:OCP:开放原则,一个软件的实体应当对扩展开放,对修改关闭。DIP:依赖倒转原则,针对接口编程,不要针对实现编程。LoD:迪米特法则,只与直接相关的类通信,避免和陌生人通信。在平常的编程中,我们都是直接new一个对象,而在工厂模式中,将对象的创建统一进行管理和控制,将调用者与实现类进行解耦。下边是一个简单的
Wesley13 Wesley13
3年前
Java设计模式之三种工厂模式
工厂模式实现了创建者和调用者的分离,实现了更好的解耦。详细分类:1)简单工厂模式(静态工厂模式);2)工厂方法模式;3)抽象工厂模式面向对象设计的基本原则:1)      OCP(开闭原则,OpenClosedPrinciple):一个软件的实体应当对扩展开放,对修改关闭。2)      
Wesley13 Wesley13
3年前
C#简单工厂模式
C简单工厂模式模型,建立一个模型,构建我们的实际工程,项目。​所有面向对象的编程都是在我们生活中存在的,从词义的解释就是我们生活中的工厂就是负责生产产品的,而到开发中对应的就是NEW不同的对象,该模式主要解决的问题就是解决创建对象与该类的解耦。设计原则中经常说的类单一职责、封装性都有体现。编程中的简单工厂就是一个生产
Stella981 Stella981
3年前
Spring IOC分析
前言   关于Spring,我想无需做太多的解释了。每个Java程序猿应该都使用过他。Spring的ioc和aop极大的方便了我们的开发,但是Spring又有着不好的一面,为了符合开闭原则,Spring的一个方法可以涉及到好几十个类,从设计上来说,这样的设计易于宽展,职责明确。但从开发角度而言,Spring就像一个迷宫,经常会在里面
Stella981 Stella981
3年前
From Apprentice To Artisan 翻译 16
上一篇(https://my.oschina.net/zgldh/blog/379461)SingleResponsibilityPrinciple单一职责原则Introduction介绍The"SOLID"design