
设计模式
大话设计模式笔记
c罗天下第一
此人很懒,不懒
展开
-
设计模式-工厂方法模式
设计模式-工厂方法模式代码对于工厂方法模式还是以计算机为例子之前的简单工厂模式为对比简单工厂的工厂类中如果要新添加一个新运算的操作需要先添加这个运算的功能类,之后在工厂类中添加Case判断,对于工厂方法模式是创建一个工厂的接口去创建各个具体的工厂去实现这个接口,就是说把进行case判断的位置移植到了客户端。简单工厂模式最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件去动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖,但是它违背了开放-封闭原则。工厂方法模式:定义一个用于创建原创 2020-07-07 21:10:06 · 120 阅读 · 0 评论 -
设计模式-代理模式
设计模式-代理模式定义代码定义代理模式:为其他对象提供一种代理以控制这个对象的访问。代理模式的应用:代理模式用到的几种场合,首先是远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。第二种是虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。这样就可以达到性能的最优化,比如说你打开一个很大的HTML网页时,里面可能有很多的文字和图片,但是你还是可以很快的打开它,此时你说看到的是所有的文字,但是图片确实一张一张地下载后才原创 2020-07-01 11:18:26 · 1754 阅读 · 0 评论 -
设计模式-单一职责原则
设计模式-单一职责原则定义定义单一职责原则,就一个类而言,应该仅有一个引起他变化的原因。我们在做编程的时候,很自然的会给一个累加各种各样的代码,像某种商业运算的代码呀,像数据库访问的SQL...原创 2020-06-19 09:19:38 · 215 阅读 · 0 评论 -
设计模式-策略模式
设计模式-策略模式定义代码定义策略模式:它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同工作,只是实现不同,他可以以相同方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。例如:一个商场收银软件,商场可能有不同种优惠策略,比如打八折,慢100返110元,或者是积分制等等优惠政策,每一种优惠政策都是一种不同的算法,但是每一种算法都是完成相同的工作。策略模式就是用来封原创 2020-06-17 16:19:34 · 205 阅读 · 0 评论 -
设计模式-简单工厂模式
设计模式-简单工厂模式例子分析代码总结例子分析拿计算器程序为一个例子,使用c#语言。对于计算器,首先写一个运算类,它有两个Number属性,用于计算器的前后操作数,接着写一个虚方法GetResult(); 用于得到结果,把加减乘除都写成这个运算类的子类,继承它并且重写GerResult()方法。接下来写一个工厂类,也就是说去到底要实例化谁,将来不会增加实例化的过程,这就是工厂。代码首先是运算类public class Operation { private double原创 2020-06-16 20:20:31 · 191 阅读 · 0 评论