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

设计模式六大原则

时间:2023-01-15 23:01:00浏览次数:54  
标签:六大 原则 void tom Tom study 设计模式 public

设计模式六大原则

  1. 开放封闭原则
    对扩展开放,对修改关闭,在增加新功能的时候,能不改代码尽量不修改,可以使用继承然后增加新代码。

  2. 单一职责原则
    一个类而言仅有一个引起其变化的原因,专人专事。财务不要去开发,开发不要去干财务。降低代码的复杂度,减少因为修改接口带来的风险。

  3. 里氏替换原则
    调用父类方法可以执行,调用子类方法也应该完全可以。

  4. 依赖倒置原则

    参考链接软件架构设计原则之依赖倒置原则

    程序要以来抽象接口,不要依赖于具体实现。

    public class Tom{
        public void studyJava(){
            System.out.println("Java");
        }
        public void studyPython(){
            System.out.println("Python");
        }
    }
    public static void main(String[] args){
        Tom tom=new Tom;
        tom.studyJava();
        tom.studyPython();
    }
    

    现在Tom是个卷逼,现在又要学AI,现在需要在Tom类添加studyAI方法,在高层追加调用。
    优化实现:

    public interface ICourse{
        void study();
    }
    public class AICourse implements ICourse{
        void study(){
            System.out.println("AI");
        }
    }
    public class Tom{
        void study(ICourse course){
            course.study();
        }
    }
    public static void main(String[] args){
        Tom tom=new Tom;
        tom.study(new AICourse());
    }
    

    现在无论Tom怎么卷,只要新技术出现,那么我们只需要做俩步:

    1. 实现该技术的类
    public class GoCourse inplements ICourse{
        void study(){
        System.out.println("GoCourse");
    }
    
    1. 然后传入便可以。
        tom.study(new GoCourse());
    
  5. 接口隔离原则
    将不同功能定义在不同接⼝中实现接⼝隔离,避免了类依赖它不需要的接⼝,减少了接
    ⼝之间依赖的冗余性和复杂性。

  6. 迪米特原则
    也叫最少知道原则,每个模块对其他模块都要尽可能少地了解和依赖,降低代码耦合度

  7. 合成/聚合原则:尽量使⽤组合(has-a)/聚合(contains-a)⽽不是继承(is-a)达到软件复⽤的⽬的,避免滥
    ⽤继承带来的⽅法污染和⽅法爆炸,⽅法污染指⽗类的⾏为通过继承传递给⼦类,但⼦类并不具备执⾏
    此⾏为的能⼒;⽅法爆炸指继承树不断扩⼤,底层类拥有的⽅法过于繁杂,导致很容易选择错误

标签:六大,原则,void,tom,Tom,study,设计模式,public
From: https://www.cnblogs.com/handsometaoa/p/17054420.html

相关文章

  • 【设计模式】23种设计模式简述
    创建型模式AbstractFactory(抽象工厂)-对象创建型模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类Builder(生成器)-对象创建型模式:将一个复......
  • 12.(结构型模式)java设计模式之享元模式
    一、什么是享元模式Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构......
  • 领导力原则应相互成就,除了对员工的要求,还应有领导者的责任
    在脉脉上看到有人吐槽美团:从亚马逊(Amazon)抄了14条领导力原则,却删了两条灵魂,而这两条则是2021版亚马逊领导力原则新增的领导者的责任,亚马逊的领导力原则最近变化如下:2015......
  • (Java)设计模式:结构型
    前言这篇博文续接的是UML建模、设计原则、创建型设计模式、行为型设计模式,有兴趣的可以看一下3.3、结构型这些设计模式关注类和对象的组合。将类和对象组合在一起,从......
  • 【架构设计】你真的理解软件设计中的SOLID原则吗?
    前言在软件架构设计领域,有一个大名鼎鼎的设计原则——SOLID原则,它是由由RobertC.Martin(也称为UncleBob)提出的,指导我们写出可维护、可以测试、高扩展、高内聚、低耦合......
  • 大牛架构师珍藏的10条编程原则
    程序员拥有一个较好的编程原则能使他的编程能力有大幅的提升,可以使其开发出维护性高、缺陷更少的代码。以下内容梳理自StactOverflow的一个问题:编程时你最先考虑的准则是......
  • C#设计模式学习笔记:设计原则
    原文网址:https://www.cnblogs.com/atomy/p/12144242.html   本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/8287784.html,记录一下学习过程以备后续查用。  ......
  • Ray Dalio《原则》读后感
    1.你必须自己思考真相是什么?*犯错误,反思错误,总结出原因,改正错误*跳出舒适圈,有勇气为此付出行动*真相是取得良好结果的根本基础*梦想+现实+决心=成功的生活2.拥抱现实,......
  • 11.(结构型模式)java设计模式之外观(门面)模式
    一、什么是外观(门面)模式 二、外观(门面)模式的实现方式模式结构分析:类关系图:统一模型:代码实现:测试用例:测试结果:方法评估:优点:缺点:三、JAVA知识点四.汇总......
  • 设计模式
    人文历史“设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977年建筑界已经有人提出了设计模式。1990年软件工程界才开始研讨设计模式的......