首页 > 其他分享 >设计模式七大原则

设计模式七大原则

时间:2023-12-25 12:33:12浏览次数:36  
标签:依赖 职责 原则 七大 接口 细节 设计模式 单一

一、设计模式的七大原则

1、七大原则

二、单一职责原则

单一职责原则的注意事项

三、接口隔离原则

1、介绍

四、依赖倒转原则

1、介绍

2、依赖关系传递的三种方式

3、注意事项和细节

五、里氏替换原则

六、开闭原则

1、介绍

七、迪米特法则

1、介绍

2、注意事项

八、合成复用原则

设计核心

1、七大原则

1、单一职责原则

2、接口隔离原则

3、依赖倒转(倒置)原则

4、里氏替换原则

5、开闭原则

6、迪米特法原则

7、合成复用原则

二、单一职责原则

对类来说,一个类应该只负责一项职责,如果该类的方法比较少可以使用单一方法原则

单一职责原则的注意事项

  1. 降低类的复杂度,一个类只负责一项职责。
  2. 提高类的可读性,可维护性
  3. 降低变更引起的风险
  4. 通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中 方法数量足够少,可以在方法级别保持单一职责原则
  5. 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上(拆分接口)
  6. 依赖倒转原则(Dependence Inversion Principle)是指:

  7. 高层模块不应该依赖低层模块,二者都应该依赖其抽象
  8. 抽象不应该依赖细节,细节应该依赖抽象
  9. 依赖倒转(倒置)的中心思想是面向接口编程
  10. 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架 构比以细节为基础的架构要稳定的多。在 java 中,抽象指的是接口或抽象类,细节就是具体的实现类
  11. 使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成

标签:依赖,职责,原则,七大,接口,细节,设计模式,单一
From: https://blog.51cto.com/u_13529088/8965814

相关文章

  • 设计模式(十八)备忘录
    一、定义在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以在以后将对象恢复到原先保存的状态。备忘录模式是一种对象行为型模式,其别名为标记(Token)模式。二、描述备忘录模式的核心在于备忘录类以及用于管理备忘录的负责人类的设计,包含以下三个......
  • 设计模式<c++> (3)观察者模式
     /***ObserverDesignPattern**Intent:Letsyoudefineasubscriptionmechanismtonotifymultipleobjects*aboutanyeventsthathappentotheobjectthey'reobserving.**Notethatthere'salotofdifferenttermswithsimilarme......
  • 设计模式<c++> (2)单例模式
    #include<iostream>#include<thread>#include<mutex>classSingleton{private:staticSingleton*pinstance_;staticstd::mutexmutex_;protected:Singleton(conststd::stringvalue):value_(value){}~Single......
  • 设计模式<c++> (1)策略模式
    一、定义策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。二、使用场景客户需要很多种鸭子。要求:1.每种鸭子都要会游泳。2.每种鸭子有叫和飞的行为。3.鸭子的叫和飞的行为可以在使用......
  • 设计模式之单例模式
    单例模式(单例模式)定义==单例模式==确保一个类只有一个实例,并提供一个全局访问点。单例模式实现的方式1.饿汉式publicclassHungry{//构造器私有privateHungry(){}//类加载时就初始化,主动创建privatestaticHungryhungry=newHungry();......
  • 设计模式—工厂模式
    介绍代码接口创建Shape接口publicinterfaceShape{voiddraw();}实现类创建Shape接口的三个实现类:Cirle、Rectangle、SquarepublicclassCircleimplementsShape{@Overridepublicvoiddraw(){System.out.println("Circle");}}......
  • 设计模式—适配器模式
    介绍代码接口定义媒体播放器接口MediaPlayer,其中play方法用于播放媒体文件publicinterfaceMediaPlayer{publicvoidplay(StringaudioType,StringfileName);}定义高级播放器接口AdvancedMediaPlayer,规定指定类型媒体的播放方法publicinterfaceAdvancedMe......
  • javaweb中的设计模式
    1.监听器基于观察者模式。1.myTestEvent自定义事件。被观察者publicclassMyTestEventextendsApplicationEvent2.MyNoAnnotationListener自定义监听器。观察者@ComponentpublicclassMyNoAnnotationListenerimplementsApplicationListener<MyTestEvent>{@Override......
  • 设计模式之工厂模式
    工厂模式(工厂模式)工厂将创建对象的细节抽离出来,实现对修改关闭。定义==工厂方法模式==定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。工厂模式有3种不同的实现方式,分别是简单工厂模式、工厂方法模式和抽象工厂模式。工厂......
  • CTR模型,聚类型特征的生产原则
    聚类型特征,即把每个item归类成一个品类,比如:杠铃---健身器材深蹲架---健身器材史密斯架---健身器材牙刷---生活用品抱枕--生活用品这种聚类型特征的生产的优化方向:1,是聚类的准确度;2,聚类体系的定义合理度;因为,给用户推荐的本质就是推荐相似的item。所以item的特征的......