![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 92
小裕哥略帅
天津工业大学学生
展开
-
模板模式详解
模板模式 模板模式通常又叫模板方法模式(Template Method Pattern)是指定义一个算法的骨 架,并允许子类为一个或者多个步骤提供实现。模板方法使得子类可以在不改变算法结 构的情况下,重新定义算法的某些步骤,属于行为性设计模式。模板方法适用于以下应 用场景: 1、一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。 2、各子类中公共的行为被提取出来并集中到一个公共的父类...原创 2019-11-04 17:30:51 · 231 阅读 · 0 评论 -
策略模式详解
策略模式 策略模式(Strategy Pattern)是指定义了算法家族、分别封装起来,让它们之间可以互 相替换,此模式让算法的变化不会影响到使用算法的用户。 策略模式的应用场景 1、假如系统中有很多类,而他们的区别仅仅在于他们的行为不同。 2、一个系统需要动态地在几种算法中选择一种。 用策略模式实现选择支付方式的业务场景 大家都知道,我们咕泡学院的架构师课程经常会有优惠活动,优惠策略会有很多种...原创 2019-11-04 16:11:35 · 247 阅读 · 0 评论 -
委派模式详解
委派模式的定义及应用场景 委派模式不属于GOF23 种设计模式中。委派模式(Delegate Pattern)的基本作用就是 负责任务的调用和分配任务,跟代理模式很像,可以看做是一种特殊情况下的静态代理 的全权代理,但是代理模式注重过程,而委派模式注重结果。委派模式在Spring 中应用 非常多,大家常用的DispatcherServlet 其实就是用到了委派模式。现实生活中也常有委 派的场景发生...原创 2019-11-01 11:23:22 · 287 阅读 · 0 评论 -
代理模式详解——动态代理(待完善)
动态代理 动态代理和静态对比基本思路是一致的,只不过动态代理功能更加强大,随着业务的扩 展适应性更强。如果还以找对象为例,使用动态代理相当于是能够适应复杂的业务场景。 不仅仅只是父亲给儿子找对象,如果找对象这项业务发展成了一个产业,进而出现了媒 婆、婚介所等这样的形式。那么,此时用静态代理成本就更大了,需要一个更加通用的 解决方案,要满足任何单身人士找对象的需求。我们升级一下代码,先来看JDK 实...原创 2019-10-24 16:30:22 · 231 阅读 · 0 评论 -
代理模式详解——静态代理
代理模式的应用场景 在生活中,我们经常见到这样的场景,如:租房中介、售票黄牛、婚介、经纪人、快递、 事务代理、非侵入式日志监听等,这些都是代理模式的实际体现。代理模式(Proxy Pattern)的定义也非常简单,是指为其他对象提供一种代理,以控制对这个对象的访问。 代理对象在客服端和目标对象之间起到中介作用,代理模式属于结构型设计模式。使用 代理模式主要有两个目的:一保护目标对象,二增强目标对象...原创 2019-10-24 16:12:26 · 308 阅读 · 0 评论 -
原型模式详解及深克隆浅克隆原理
原型模式(Prototype Pattern)是指原型实例指定创建对象的种类,并且通过拷贝这些 原型创建新的对象。 原型模式主要适用于以下场景: 1、类初始化消耗资源较多。 2、new 产生的一个对象需要非常繁琐的过程(数据准备、访问权限等) 简单克隆 一个标准的原型模式代码,应该是这样设计的。先创建原型Prototype 接口: public interface Prototype{ ...原创 2019-10-17 16:15:59 · 392 阅读 · 0 评论 -
反射和序列化破坏单例模式原理以及避免方法
反射破坏单例 如果我们使用反射来调用其构造方法,然后,再调用getInstance()方法,应该就会 两个不同的实例。现在来看一段测试代码,以LazyInnerClassSingleton 为例: public class LazyInnerClassSingletonTest { public static void main(String[] args) { try{...原创 2019-10-17 15:32:30 · 333 阅读 · 0 评论 -
单例模式详解
单例模式的应用场景 单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并 提供一个全局访问点。单例模式是创建型模式。单例模式在现实生活中应用也非常广泛。 例如, 国家主席、公司CEO 、部门经理等。在J2EE 标准中, ServletContext 、 ServletContextConfig 等;在Spring 框架应用中ApplicationConte...原创 2019-10-10 14:06:00 · 131 阅读 · 0 评论 -
三种工厂模式详解-简单工厂模式、工厂模式、抽象工厂模式
一、简单工厂模式 简单工厂模式 简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类 的实例,但它不属于 GOF,23 种设计模式(参考资料: http://en.wikipedia.org/wiki/Design_Patterns#Patterns_by_Type)。简单工厂适用 于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,...原创 2019-09-21 11:56:34 · 978 阅读 · 0 评论 -
软件架构设计的七大原则
开闭原则 开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。所谓的开闭,也正是对扩展和修改两个行为的一个原则。强调的是用抽象构建框架,用实现扩展细节。可以提高软件系统的可复用性及可维护性。开闭原则,是面向对象设计中最基础的设计原则。它指导我们如何建立稳定灵活的系统,例如:我们版本更新,我尽可能不修改源代码,但是可...原创 2019-08-19 17:35:27 · 474 阅读 · 0 评论