上一篇方法调用赋值封装,这里使用封装后调用,尽量满足开闭原则。 ...
一、引言 在讲策略模式之前,我们来看零售行业软件的一个针对客户类型打折的功能。 vip客户打八折,svip客户打七折。 代码实现: 看代码,挺简单的,但是如果今天vip打八折,明天要打7折,那还得改变原有的代码,这样就违背了开闭原则。这里变化的是折扣的计算方式(策略),策略模式就可以解决这类问题。 ...
分类:
其他好文 时间:
2019-09-18 01:14:01
阅读次数:
106
设计原则详解 设计模式存在的根本原因是为了代码复用,增加可维护性。 开闭原则:对扩展开放,对修改关闭 里氏转换原则:子类继承父类,单独掉完全可以运行 依赖倒转原则:引用一个对象,如果这个对象有底层类型,直接引用底层。 接口隔离原则:每一个接口应该是一种角色 合成/聚合复用原则:新的对象应使用一些已有 ...
分类:
其他好文 时间:
2019-09-18 01:08:45
阅读次数:
101
1:工厂模式:简单一句话,就是生产类的。 2:分类:简单工厂、工厂模式、抽象工厂 3:代码 简单工厂 缺点:每次添加新的实现类,都需要修改代码。违背了开闭原则。 工厂模式 缺点:当添加一个运动的时候,需要添加工厂类,代码容易臃肿,不好维护。 抽象工厂模式 抽象工厂,无非就是添加多个产品。 ...
分类:
其他好文 时间:
2019-09-17 22:09:40
阅读次数:
101
工厂设计模式: 顾名思义,该模式是用来生产对象的。在面向对象的设计模式中,万物皆对象,若使用new来创建对象,就会对该对象产生强耦合,加入我们需要更换该对象,那么使用该对象的对象都需要进行修改,这显然违背了开闭原则(OCP)。如果我们使用工厂来产生对象,我们只需要与这个工厂打交道就可以了,无需关心具 ...
分类:
其他好文 时间:
2019-09-13 15:56:27
阅读次数:
119
总原则:开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面 ...
分类:
其他好文 时间:
2019-09-10 17:49:18
阅读次数:
63
目录: 设计模式六大原则:单一职责原则 设计模式六大原则:接口隔离原则 设计模式六大原则:依赖倒置原则 设计模式六大原则:里氏替换原则 设计模式六大原则:迪米特法则 设计模式六大原则:开闭原则 迪米特法则(LOD): 也叫最少知识原则。迪米特法则的定义是只与你的直接朋友交谈,不与"陌生人"说话。如果 ...
分类:
其他好文 时间:
2019-09-10 13:29:52
阅读次数:
117
1. AOP 是软件设计领域中的面向切面编程,他是面向对象的一种补充和完善。实际项目中我们通常将面向对象理解为一个静态过程(例如一个系统有多少模块,一个模块有哪些对象,对象有哪些属性),面向切面中包含一个一个动态过程(在对象运行时动态织入一些功能) Aop 就是要在基于 OCP (开闭原则)在不改变 ...
分类:
其他好文 时间:
2019-09-08 22:19:23
阅读次数:
101
第一、模板方法定义 1.定义了一个操作中的算法的骨架,而将部分步骤的实现在子类中完成。 模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2.模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术,没有关联关系。 因此,在模板方法模式的类结构图中, ...
分类:
其他好文 时间:
2019-09-03 09:25:01
阅读次数:
93
1 namespace UnitTestProject1.BaseDesign 2 { 3 4 /// <summary> 5 /// 工厂方法模式要求:尽量使用抽象类或接口来定义就可以达到一个开闭原则 6 /// </summary> 7 [TestClass] 8 public class Ba... ...
分类:
其他好文 时间:
2019-08-31 10:25:44
阅读次数:
91