两个应都依赖于抽象

时间:2022-06-12 01:52:36

学习来自《谎话设计模式》有兴趣可以研究一下

一、工厂模式

道理 子类东西可以赋值给父类东西。同一个父类东西的子类,通过switch语句new出来(固然用if也可以但那样判断就多了起来)。

如:三个窗体form1、form2、form3都是担任自form东西这就可以声明一个 Form frm =nil; 再写个函数 如ShowFrm(string frmName){switch frmName case "1" frm=new form1.....}这样。用的时候 showFrm("1");就能出来form1东西了。

二、计谋模式

小我私家理解就是通过配置写出对应的类型,再对读出的数据进行判断。

以前面向过程类的编程中也经常用到,

如:把填充下拉的数据通过数据库读出来;连接数据库用配置文件等。

三、单一原则

这个好理解就是一个类只做一件事性

如:数据库中一个表对应一个model类;计算器的加减乘除分袂是一个类,而不是在一个类中

四、开放关闭原则

关闭的是原始的类,加成果了不要去改这个类,而是通过接口或部分类去往里加成果,这样能最大可能的保证软件的不变性,,固然原始类里有bug还是要改失的

如:举个不得当的例子(面向对像写的太少,暂时无法举出合适的例子) 在面向过程编程中,维护没有注释的代码,如果一个生存按钮已经很不变了且逻辑很庞大,功效数据库里加了个字段生存里也要相应的字段进行生存,前边的代码欠好动了,看着太累那么 生存完后,管他前边是insert还是update,直接在最后给来这个字段做个update 就好,本来的代码就相当于关闭 新代码就想当于扩展

五、依赖倒转(颠倒)原则

抽象不依赖细节,细节依赖于抽象,也就是针对接口编程而不是针对实现

高层不应依赖于底层模块,两个应都依赖于抽象,也就是依赖终止于接口或抽象类,到了实现相与没有依赖关系

如:面向过程的函数库,要依赖连接数据库的函数 就是背面教材

标签:

原文地点:https://www.cnblogs.com/SoftWareIe/p/8972974.html