• 设计模式之六则并进


         6大原则:指设计模式中遵循的六个基本原则,并进是我们在学习的模式都会用到其中的某个或某几个原则,来让我们的代码达到复用。

             

        1、单一职责:通俗理解为只做一件事。其包含两个含义:一、一个模块只完成一个功能,二、一个功能只由一个模块完成。这就跟流水线工作似的,每个工人只负责自己的工作,不用管其他人的工作。

        2、开放-封闭:允许添加、扩展新的功能,不允许修改。

    我们的系统不可能不更新,这个原则就是尽量减少直接去更改原先的模块,而只是去增加新的模块,减少出错率。

        3、依赖倒转:通俗解释细节也能坏事。

        定义:高层模块不应该依赖低层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。

        细节多变,如果依赖细节就会牵一发而动全身,得不尝试了。比如我们去建行的话,只需要找到建行的位置,而无指导哪个人是否上班,不需要了解细节。

        4、里氏代换:通俗理解儿子可以替换父亲。

        定义:子类型必须能够替换掉他们的父类型。

        正是因为有了这个原则,才有了继承,继承就是子类继承父类的属性、方法,同时可以增加自己的行为,来达到代码的复用。

        5、迪米特:不直接沟通,而通过他人连接。感觉跟依赖倒转原则有很多相似之处,都是为了减少耦合。

        迪米特VS依赖倒转

        依赖倒转:高层与底层,强调层次

        迪米特:平等的类之间

        6、合成/聚合复用:使用组合和聚合关系,不使用继承,减小耦合。

        综上:这几个原则都是为了降低耦合度,但是如何应用呢?有的比较简单,如单一职责。但是有的比较难理解,如何应用好这些原则,在后面的23个模式中都有体现。

  • 相关阅读:
    【语义未来】Twine和Scoutlabs揭示的冰山一角
    取舍之间:Keep Simple Keep Useful
    掌握激励组合拳的红色混混博客
    智能语义聚合框架:像人类一样收集和理解知识
    快车道不快的现象与人类误判心理学
    像Last.Fm去战斗,电台式的阅读体验?
    语义的未来【OpenSourceCamp讲稿】
    Spring 中 context:propertyplaceholder @Bean
    ${pageContext.request.contextPath}不能识别的问题
    Spring @Autowired 注解 指定自动装配
  • 原文地址:https://www.cnblogs.com/zsswpb/p/5771673.html
Copyright © 2020-2023  润新知