设计模式
元澈
日月忽其不淹兮,春与秋其代序。
展开
-
简单工厂模式-计算器
1.Operation运算类 public class Operation { private double _numberA = 0; private double _numberB = 0; public double NumberA { get { return _numberA; }原创 2015-12-28 19:00:22 · 403 阅读 · 0 评论 -
二十三种设计模式图解
原创 2017-09-14 16:03:01 · 436 阅读 · 0 评论 -
工厂设计模式最佳实践小结
今天看到项目里打折促销的需求,想到《大话设计模式》里有这样一个案例,遂将工厂模式研究了一番 工厂模式可分为三种:简单工厂模式、普通工厂模式、抽象工厂模式 简单工厂模式:简单工厂通过switch...case语句封装了创建对象的过程,在工厂类中创建单一对象,简单工厂封装了例如根据“满减”、“折扣”进行动态创建对象,如果后期增加其它优惠方式,则需要修改工厂类,这违反了开放-封闭原则,原创 2017-08-21 15:58:05 · 363 阅读 · 0 评论 -
Java枚举实现单例模式
自JDK1.5之后,使用单例模式的最佳方式就是使用枚举 理由: 1、 自由序列化; 2、 保证只有一个实例(即使使用反射机制也无法多次实例化一个枚举量); 3、 线程安全; 实现方式: public enum Singleton { INSTANCE; private Singleton() {原创 2017-06-22 10:19:54 · 317 阅读 · 0 评论 -
动态代理
动态代理分为JDK代理和CGLIB代理两种 (1)JDK动态代理只能对实现了接口的类生成代理,而不能针对类 (2)CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法 因为是继承,所以该类或方法最好不要声明成final 一)JDK代理实现: 1.接口public interface Service { public abstract voi原创 2017-04-22 00:05:36 · 313 阅读 · 0 评论 -
单例模式
1.单例类特点 1.只能有一个实例。 2.必须自己创建自己的唯一实例。 3.必须给所有其他对象提供这一实例。 总结:单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 2.代码 1)Singleton将构造方法限定为private避免了类在外部被实例化。so,Singleton的唯一实例只能通过getInstance()方法访问。 注:通过Jav原创 2015-12-25 09:45:48 · 253 阅读 · 0 评论 -
设计模式原则
1.单一职责原则: 就一个类而言,应该仅有一个引起它变化的原因 2.开放-封闭原则(扩展开发,更改封闭): 软件实体(类、模块、函数等)可扩展但不可修改 3.依赖倒转原则: 1)高层模块不应该依赖于底层模块,两个都应该依赖抽象 2)抽象不应该依赖细节,细节应该依赖于抽象(针对接口编程,不要对实现编程) 4.里氏代换原则: 子类必须能够替原创 2015-12-29 19:48:51 · 230 阅读 · 0 评论 -
二十三种设计模式
1.简单工厂模式 对同一事件有多种处理方式原创 2015-12-28 20:04:02 · 380 阅读 · 0 评论 -
装饰模式
abstract class Component { public abstract void Operation(); } class ConcreteComponent : Component { public override void Operation() { Console.Writ原创 2015-12-30 09:19:23 · 248 阅读 · 0 评论 -
策略模式-在不同时间应用不同的业务规则(封装算法)
//抽象算法类 abstract class Strategy { public abstract void AlgorithmInterface(); } //具体算法A class ConcreteStrategyA : Strategy { //算法A实现方法 public overri原创 2015-12-28 20:39:22 · 348 阅读 · 0 评论 -
策略模式与简单工厂结合
abstract class CashSuper { public abstract double acceptCash(double money); } //正常收费 public class CashNormal : CashSuper { public override double acceptCash(doubl原创 2015-12-29 18:53:22 · 287 阅读 · 0 评论 -
《大话设计模式》小结
1.外观模式 使用的是代理的概念原创 2017-09-11 15:46:46 · 225 阅读 · 0 评论