zoukankan      html  css  js  c++  java
  • 设计模式六大原则

    一、单一职责原则

         概述:一个实例对象应该只包含一种单一的职责,完成一项属于自己的任务,并完整地封装在一个类中

             原因:在一个类的实例中,如果它承担的责任过重,那么他复用的机会也就越小,耦合度大大提高,当其中一个职责(方法)发生变化时,其它职责也会跟着变化,修改也就越麻烦。程序读起来也非常费劲

    二、开闭原则

            概述:开放扩展,关闭修改。

            原因:当完成一个项目时,并不是以后就彻底结束了。程序的扩展性在企业项目中非常重要。为了方便将来的维护,当增加一个新的实例后,并不需要修改之前写过

    的源代码,而是在原来的基础上再进一步升级,添加一个新类,继承抽象类或接口就可以解决问题

    三、里氏代换原则

            概述:所有引用父类的地方,都应该透明地使用其子类

            详解:由于在使用父类的地方都可以使用其子类,当给一个类定义时,如果其继承了父类,应尽量使用父类来进行定义,而在程序运行时再确定子类的类型,用子类来替换父类对象。

            原因:此类原则是开闭原则的基础,用父类定义,用子类实现,可以更好解决程序扩展性,当我们需要实现哪个实例时,就调用哪个,不需要再重复定义多个实现类     

    四、依赖倒转原则

            概述:高层模块不应该依赖于低层模块,它们都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。其实就是针对接口编程,而不是针对实现类编程

            详解:在引入抽象层后,将具体类的实例通过依赖注入的方式,注入到其它对象中。具体类的方法在定义时使用抽象类型,在运行时再传入具体类型,由子类覆盖父类对象

    五、接口隔离原则

            概述:客户端不应该依赖于那些它不需要的接口

            原因:每一个接口应承担相应独立的角色,不该干的事不干,该干的都要干,这样就避免了接口所承担的任务过重,分工不明确,导致实现类所接受的任务更加复杂

    六、合成复用原则

            概述:优先使用对象组合,而不是继承达到复用的目的

            详解:代码中经常会大量重复出现,为了避免重复,可以通过继承的方式,也可在创建一个新类。一个新的类的对象可以通过关联关系来使用已有的对象,新对象通过调用已有对象的方法来达到复用的目的。

            原因:继承复用会破坏系统的封装性,因为继承会将父类的实现细节暴露给子类。如果父类发生改变,那么子类的实现也会发生改变。没有足够的灵活性,继承只能在有限的环境中使用。比如物品(铅笔,书本,橡皮都有共性),人类(张三,李四,王五也有共性),动物等等,可以用继承来复用共有的属性方法,共性很强。但是共性不强的某些类,如人要使用物品,那么他们之间则要通过关联关系来实现调用。

           

    世界上最可怕事情是比我们优秀的人比我们还努力
  • 相关阅读:
    Top 10 Product Manager Skills To Boost Your Resume In 2021
    大数据知识梳理
    B端产品如何设计权限系统?
    华三盒式交换机MAC、ARP、Route性能表项参数查询
    中了传说中的挖矿病毒
    SqlServer 2019 事务日志传送
    docker中生成的pdf中文是方框的解决方案
    The Live Editor is unable to run in the current system configuration
    2021 面试题大纲
    五分钟搞定Docker安装ElasticSearch
  • 原文地址:https://www.cnblogs.com/AlexOneBlogs/p/7293499.html
Copyright © 2011-2022 走看看