专栏首页给永远比拿愉快依赖倒转原则(笔记整理)

依赖倒转原则(笔记整理)

已经是2个月没有写过博客了吧,打开自己的博客,突然有种亲切感。给老板干活的日子很苦,能够有点属于自己的时间真是一种享受。

下午继续看《大话设计模式》,学习的过程是积累的过程。加油,孩子!

依赖倒转原则 A.高层模块不应该依赖底层模块。两个都应该依赖抽象。 B.抽象不应该依赖细节。细节应该依赖抽象。

通俗地讲就是要针对接口编程,不要对实现编程。

这一点说起来容易,但是在自己真正写程序的过程中,把这个原则运用到自己的开发中还真不是一件容易地事。通过前一段时间的Coding我深深体会到了这一点。

里氏代换原则:一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它觉察不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。简单地说,子类型必须能够替换掉它们的父类型。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++中派生类成员的访问属性

    在派生类中,对基类的继承方式可以有public(公用的)、private (私有的)和protected(保护的)3种。 不同的继承方式决定了基类成员在派生类...

    卡尔曼和玻尔兹曼谁曼
  • Leetcode: Implement strStr()

    Returns the index of the first occurrence of needle in haystack, or -1 if needle...

    卡尔曼和玻尔兹曼谁曼
  • Leetcode: Maximum Product Subarray

    题目: Find the contiguous subarray within an array (containing at least one num...

    卡尔曼和玻尔兹曼谁曼
  • 2015年中国移动互联网城市竞争力调查

    报告显示,截至2015年上半年,中国手机网民规模已经达到6.565亿,移动互联网行业的发展呈现出明显的地域性特色,并且和经济发展高度同步。主要分布在以北京为中...

    灯塔大数据
  • 表单联动解决方案探讨

    表单联动是前端经常面临的问题,联动实际上是一组表单项和表单项之间的依赖关系的集合。比如经典的“省-市-区”三级联动,就包含了“省”、“市”、“区”三个表单项,以...

    暂七师黑管手
  • JAVA基础面试总结

    1.00 什么时候使用基于接口编程? 基于接口编程、Fascade层等等抽象封装都是有开发和维护的代价的,是否使用归根结底还是要看团队人员的分工情况, 技术方...

    Java高级架构
  • Python 继承

    为了保证编写的代码能够同时在 Python 2.x 和 Python 3.x 运行!

    Devops海洋的渔夫
  • [笔记]python template

    Cart 1 * coke = 11 6 * cake = 12 4 * fish = 1 Total: 24

    py3study
  • 面向对象——继承

    Object是默认的所有类的父类,每个类对象都可以使用像hashCode()、equals(Object obj)、toString()等这些方法。是因为它们就...

    木瓜煲鸡脚
  • 基于梯度下降算法求解线性回归

    基于梯度下降算法求解线性回归 一:线性回归(Linear Regression) 梯度下降算法在机器学习方法分类中属于监督学习。利用它可以求解线性回归问题,计算...

    OpenCV学堂

扫码关注云+社区

领取腾讯云代金券