![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
筱筱世家
这个作者很懒,什么都没留下…
展开
-
简单工厂模式
/** * @Author: subd * @Date: 2019/8/28 7:49 * 简单工程模式 */public class SimpleFactoryModel { /** * 运算类 */ public static class Operation { private double a = 0; priv...原创 2019-08-28 08:09:12 · 131 阅读 · 0 评论 -
策略模式
** * @Author: subd * @Date: 2019/9/11 8:08 * 策略模式 */public class StrategyMode { /** * 现金收费抽象类 */ public static abstract class CashSuper { public abstract double acceptC...原创 2019-09-11 09:12:28 · 158 阅读 · 0 评论 -
单一职责原则
单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离【ASD】,如果你能够想到多余一个的动机去改变一个类,那么这个类就具有多于一个的职责【ASD】。...原创 2019-09-12 07:16:33 · 70 阅读 · 0 评论 -
开放-封闭原则(The Open-Cloased Principle)
开放-封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。开放-封闭原则有两个特征:1、对于扩展是开放的.2、对于更改是封闭的怎样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本呢?开放封闭原则可以给出答案。无论模块是多么的‘封闭’,都会存在一些无法对之封闭的变化。既不可能完全封闭,设计人员必须对于他设计的模块...原创 2019-09-12 07:36:53 · 341 阅读 · 0 评论 -
依赖倒转原则
依赖倒转原则(依赖倒置原则):抽象不应该依赖细节,细节应该依赖抽象,针对接口编程,不要对实现编程。依赖倒转原则:A高层模块不应该依赖低层模块。两个都应该依赖抽象。 B抽象不应该依赖细节。细节应该依赖抽象。里氏代换原则:一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出来父类对象和子类对象的区别。也就是说,在软件...原创 2019-09-16 07:30:17 · 278 阅读 · 0 评论 -
装饰模式
动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式生成的子类更为灵活。装饰模式是为已有功能动态添加更多功能的一种方式。/** * @Author: subd * @Date: 2019/9/17 8:15 * 装饰模式 */public class DecorationMode { public static abstract class Component...原创 2019-09-17 08:49:18 · 122 阅读 · 0 评论 -
代理模式
代理模式:为其他对象提供一种代理以控制对这个对象的访问。代理模式适合的场合:1.远程代理:也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。2.虚拟代理:是根据需要创建开销很大的对象。通过它来存放实例化需要很长的时间的真实对象。3.安全代理:用来控制真实对象访问时的权限。4.智能指引:是指当调用真实的对象是,代理处理另外一些事。/...原创 2019-09-18 08:29:06 · 101 阅读 · 0 评论 -
原型模式(未完成)
原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个/** * @Author: subd * @Date: 2019/9/19 8:27 * 原型模式 */public class PrototypeModel { /** * 原型类 */ static abstract c...原创 2019-09-19 08:48:52 · 95 阅读 · 0 评论 -
模板方法模式
既然用了继承,并且肯定这个继承有意义,就应该要称为子类的模板。所有重要的代码都应该要上升到父类去。而不是让每个子类都去重复。当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理。模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定...原创 2019-09-26 08:23:06 · 82 阅读 · 0 评论