摘要: 里氏替换原则 与 父子继承关系有关,所以,我们先了解一下继承; 面向对象中的 继承 的思考和说明 继承包含这样一层含义:父类中凡是已经实现好的方法, 实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。 白话就是 阅读全文
posted @ 2022-04-01 23:56 醉马踏千秋 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 概念 先理解下面两个概念: 抽象:接口或抽象类 细节:具体的实现类 依赖倒置有如下5条概念: 高层模块不应该依赖低层模块,二者都应该依赖其抽象 抽象不应该依赖细节,细节应该依赖抽象 依赖倒转(倒置)的中心思想是面向接口编程 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。 阅读全文
posted @ 2022-04-01 22:54 醉马踏千秋 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 概念 客户端不应该依赖它不需要的接口,即:一个类对另一个类的依赖应该建立在最小的接口上;(比较难理解这句话,但不要紧,请继续看下面) 演示 看下图,Inerface1接口中有5个抽象方法,其中,B和D为 抽象接口Interface1 的 实现类,A和C依赖于抽象接口 Interface1: 上图中, 阅读全文
posted @ 2022-04-01 21:46 醉马踏千秋 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 概念 对类来说的,一个类应该只负责一项职责。(记住) 假如:类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变类A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1, A2(即将类A的两个职责分解为A1类和A2类); 代码解说 先看如下代码: Vehicle _vehicle = 阅读全文
posted @ 2022-04-01 20:38 醉马踏千秋 阅读(67) 评论(0) 推荐(1) 编辑
摘要: 阅读先导 你需要对 C#基础、面向对象(OO)有一定的基础,包括不限于:封装、继承、多态、重写、抽象类、接口等; 学习 设计模式 是不限开发语言的,本教程是用 C# 代码示例的,你也可以用 C++、java、python、php等具有面向对象的语言来进行学习本教程; 每一个开发人员都 必须要 掌握 阅读全文
posted @ 2022-04-01 19:43 醉马踏千秋 阅读(164) 评论(0) 推荐(0) 编辑