zoukankan      html  css  js  c++  java
  • 面向对象7大设计原则

      设计原则可以有效提升代码的复用性与扩展性。本文罗列一下7大设计原则,并对其设计思想做简略总结:

      总的思想关键就在于抽象化

      

      依据接口、抽象类的侧重点,分类如下图所示(声明:分类纯属个人所好):

    ①开闭原则:

    不允许修改的是系统的抽象层,而允许扩展的是系统的实现层。告诉我们要【对扩展开放,对修改关闭】

    ②里氏替换原则:

    强调出子类与父类之间的关系,子类不要更改父类已经实现好的方法。代码中使用父类的地方都可以变为子类且这个变化不影响代码的含义。告诉我们【不要破坏继承体系】

    ③依赖倒置原则:

    抽象不应该依赖于实现,实现应该依赖于抽象。参数、返回值要使用接口表示。告诉我们要【面向接口编程】。

    ④接口隔离原则:

    接口的功能不应该冗余,不要提供给客户端不需要的方法。告诉我们在设计【接口】的时候要【精简单一】。

    ⑤单一职责原则:

    如果可能,类的功能不要过于庞杂。告诉我们实现【类】要【职责单一】。

    ⑥迪米特法则:

    一个类不应该调用与自己没有直接关系的类的方法。防止间接类的修改牵连到自身。告诉我们要【降低耦合度】

    ⑦合成复用原则:

    类的继承是有单一性局限与扩展不便性的。告诉我们要【优先使用组合或者聚合关系复用,少用继承关系复用】

     

     

    "我们所要追求的,永远不是绝对的正确,而是比过去的自己更好"
  • 相关阅读:
    继承
    包、logging模块、hashlib模块、openpyxl模块、深浅拷贝
    Java中的Lambda表达式
    Java中udp/tcp的发送和接收
    Java中的IO流总结
    Java中的多线程
    Java中使用try-catch-finally处理IO流中的异常
    Java中的杂流(闸总)
    Java中的Properties
    Java中IO流之字符流
  • 原文地址:https://www.cnblogs.com/zomicc/p/12202072.html
Copyright © 2011-2022 走看看