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

设计模式——六大原则

时间:2024-08-25 20:14:39浏览次数:13  
标签:六大 依赖 原则 子类 父类 接口 模块 设计模式

一、 六大设计原则

1. 单一职责原则:应该有且仅有一个原因引起类的变更

2. 里氏替换原则:子类可替换父类。

  a) 子类必须完全实现父类的方法

  b) 子类可以有自己的个性

  c) 子类实现父类方法时,入参可放大

  d) 子类实现父类方法时,输出参数可缩小

3. 依赖倒置原则:高层模块不应该依赖底层模块,二者都应该依赖其抽象。

  a) 正常依赖情况:高层模块直接依赖底层模块。如果底层模块需要被替换,那么高层模块代码需要跟着变动。耦合程度过高。

  b) 倒置原则要求高层模块和底层模块均依赖起抽象,那么在需要更换底层模块时,仅需将抽象类更换新模块即可。

  c) 实现类依赖抽象类或接口,依赖关系通过接口或抽象类产生

4. 接口隔离原则:仅提供客户端需要的接口,即要求对外的每个接口中的方法尽可能的少。

5. 迪米特法则:一个类只和朋友类交流,即我只跟成员变量,方法的输入和输出参数接触。

6. 开闭原则(最基础的原则,精神领袖):一个软件实体(类,接口等)应该对扩展开放,对修改关闭。简单来说就是,在现实开发中,尽可能不去修改其他人的代码,而是使用扩展,重写等方法对业务层面的需求进行修改或添加

二、 注意

在实际开发过程中,所有原则均需为实际需求让路,注意适度原则。我们结合使用六个原则的好处,或者说目标是建立稳定,灵活,健壮的设计。

标签:六大,依赖,原则,子类,父类,接口,模块,设计模式
From: https://www.cnblogs.com/gzj03/p/18379456

相关文章

  • Java行为型设计模式-访问者模式(含二叉树场景示例)
    1.访问者模式简介访问者模式(VisitorPattern)是一种行为型设计模式,其主要目的是将数据结构与数据操作解耦。用于将数据结构和在数据结构上的操作分离开来。‌这种模式允许在不修改数据结构的情况下,定义新的操作。2.访问者模式角色访问者模式的主要角色包括:2.1抽象访问......
  • 设计模式篇(DesignPattern - 前置知识 & 七大原则)(持续更新调整)
    目录前置知识一、什么是设计模式二、设计模式的目的七大原则原则一:单一职责原则一、案例一:交通工具问题1.问题分析2.解决思路2.1类级别单一职责2.2方法级别单一职责3.知识小结二、案例二:待更新原则二:接口隔离原则一、案例一:大接口拆分小接口1.问题分析2.......
  • 设计模式反模式:UML图示常见误用案例分析
    设计模式反模式:UML图示常见误用案例分析在软件开发过程中,设计模式(DesignPatterns)作为解决常见设计问题的最佳实践,被广泛地应用于提高代码质量和可维护性。然而,当这些设计模式被误用或滥用时,它们可能会变成反模式(Anti-Patterns),导致系统架构的复杂性增加,甚至引发一系列问题......
  • 游戏开发设计模式之责任链模式
    责任链模式(ChainofResponsibilityPattern)是一种行为型设计模式,它允许将请求沿着处理者链进行发送。每个处理者对象都有机会处理该请求,直到某个处理者决定处理该请求为止。概念与定义责任链模式的核心思想是将多个处理器以链式结构连接起来,使请求沿着链传递,直到有一个处理......
  • Java行为型设计模式-状态模式(含电梯场景示例)
    1.状态模式简介状态模式(StatePattern)是一种行为型设计模式,它允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。状态模式的目的是让状态转换显式,并且使得状态转换代码集中在一个地方,不需要使用多重条件语句。状态模式(StatePattern)用于解决系统中对......
  • C++:STL六大组件,知识点总结。
    STL知识点总结STL是C++标准库中的一个重要部分,提供了一组灵活通用的数据结构,核心是模板类。接下来是STL的主要组件及其功能简介。1.容器容器是用来存储和管理一组数据的对象。不同的容器适用于不同类型的数据存储需求。可理解为各种形式实现的存储结构顺序容器vec......
  • 【访问者模式】设计模式系列:解锁复杂对象结构的秘密武器
    文章目录访问者模式详解:理论与实践1.引言1.1访问者模式的历史背景1.2模式的动机与应用场景1.3为什么选择访问者模式2.访问者模式概述2.1定义2.2问题场景2.3模式结构3.模式优缺点分析3.1优点3.2缺点4.访问者模式实现步骤4.1创建抽象元素接口4.2实现具体......
  • C# 面向对象的7大原则之开闭原则(Open-Closed Principle,OCP)
    定义开闭原则(OCP):软件实体应对扩展开放,对修改关闭。通俗来讲就是,当需要进行扩展时,在不更改现有代码的前提之下,进行扩展。举例假设有一个动物发出声音的类为Animal,最初只有Dog(狗)和Cat(猫),后续需要新增Cow(牛);按照开闭原则,不应修改Animal类、Dog类或Cat类,而是创建新的Cow类,并在适当的......
  • 设计模式之工厂方法模式
      简单工厂模式虽然简单,但是存在一个问题:当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背开闭原则。在工厂方法模式中,不再提供一个统一的工厂类来创建所有的产品对象,而是针对不同的产品提供不同的工厂,系统提......
  • 设计模式之简单工厂模式
     简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。1.Factory:工厂类,它是简单工厂模式的核心,负责实现创建所有产品实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。在工厂类中提供了静态的工厂方法factoryMet......