zoukankan      html  css  js  c++  java
  • 依赖倒转(依赖倒置)原则

    1. 抽象不应该依赖细节,细节应该依赖于抽象(接口,抽象类)。

    2. 针对接口编程,不要对实现编程。

    3. 高层模块不依赖底层模块,两者都应该依赖抽象。

    image

    4. 依赖倒置含义在于,相互之间不依赖,除了约定好的接口实现,大家都可以灵活自如,子类实现接口进行“策略工厂”实现,高层模块通过使用接口来实现“开闭依赖倒置”。

    5.依赖倒置其实可以说是面向对象设计的标志,用何种方式实现不重要,重要在于如何考虑针对抽象编程,而不是针对细节编程,即程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计,反之就是面向过程化的设计。

    里氏代换原则

    image

    1.意思就是从需求行来说,通过父类(接口,抽象类)继承,子类实现父类中所有的非 Private 接口,来编程和定义交互,如果子类的需求有任何一个无法不符合父类的所有Public成员,则不能继承这个父类,因为子类将无法替换掉父类,当然现在的编程工具都是强制实现父类的。

    2. 只有当子类可以替换掉父类,软件单位的功能不受限制时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。

    3.由于子类型的可替换性,才使得使用父类类型的模块在无需修改的情况下就可以扩展。

    冯瑞涛
  • 相关阅读:
    Git官方推荐用书
    二叉树-补习
    POJ 2251 Dungeon Master(三维BFS)
    Codeforces 675C Money Transfers (思维题)
    HDU 1195 Open the Lock(BFS)
    HDU 1010 Tempter of the Bone(DFS+剪枝)
    POJ 1426 Find The Multiple(DFS,BFS)
    POJ 3216 Prime Path (BFS)
    POJ 3278 Catch that cow(BFS)
    UVa 572 Oil Deposits(简单DFS)
  • 原文地址:https://www.cnblogs.com/finehappy/p/1613764.html
Copyright © 2011-2022 走看看