设计模式
------
踟蹰千年
希望能一直有码编的码农一枚
展开
-
单例模式8种写法及分析
最近复习了下单例模式写法,记录下来,分析每种优缺点 其中标红的是推荐方式,有双重检查模式,还有枚举模式 1.饿汉式 静态变量方式(可用) * 优点:编写简单 不存在并发问题 多个线程创建多个实例 * 缺点:一开始就加载,浪费资源. /** * @author: xuxu * @date 2020/2/2 16:08 * @Description: 第一种单例模式写法 * 饿汉式...原创 2020-02-03 17:11:24 · 479 阅读 · 0 评论 -
设计模式(八) 模板模式
完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成 父类:定义了组装方法的总方法 sendMsg() 框架或者规范 package com.xuxu; /* * 抽象父类 */ public abstract class Abstract...原创 2019-03-16 19:44:30 · 118 阅读 · 0 评论 -
SpringIoc 和 工厂模式(反射实现)
package org; interface Fruit { public void eat(); } class Apple implements Fruit { public void eat() { System.out.println("吃苹果。"); } } class Orange implements Fruit { publi...转载 2019-02-22 12:53:57 · 385 阅读 · 0 评论 -
设计模式(七) 命令模式
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lmj623565791/article/details/24602057 注:文章参考《head first设计模式》一书,非常值得学习的一本书。 继续设计模式哈,今天带来命令模式,二话不说,先看定义: 定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。...转载 2018-09-12 22:07:35 · 128 阅读 · 0 评论 -
设计模式(六)单例模式
单例模式在日常使用非常平凡 一般有4种写法 懒汉式 也称为双重锁定 package com.zhy.pattern.singlton; public class Singleton02 { private static Singleton02 instance; public static Singleton02 getInstance() { if (instance...原创 2018-09-12 21:55:57 · 110 阅读 · 0 评论 -
设计模式(五)装饰模式
装饰者模式:若要扩展功能,装饰者提供了比集成更有弹性的替代方案,动态地将责任附加到对象上。 先简单描述下装饰者模式发挥作用的地方,当我们设计好了一个类,我们需要给这个类添加一些辅助的功能,并且不希望改变这个类的代码,这时候就是装饰者模式大展雄威的时候了。这里还体现了一个原则:类应该对扩展开放,对修改关闭。 例子 用装饰者模式实现在读取的txt文件内 每个名字前加编号 装饰者模式过程: *...原创 2018-09-12 21:35:35 · 127 阅读 · 0 评论 -
设计模式(二)工厂模式
工厂模式是我们最常用的实例化对象模式了 假设我们需要一辆汽车 传统写法 public class Car { public void run() { System.out.println("获得一辆小汽车"); } } public class Customer { public static void main(String[] args) { Car car = new...原创 2018-09-06 22:46:30 · 155 阅读 · 0 评论 -
设计模式(四)观察者模式
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lmj623565791/article/details/24179699 先来看看观察者模式的定义: 定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。 好了,对于定义的理解总是需要实例来解析的,如今的微信服务号相当火啊,下面就以微信服务号为背景...转载 2018-09-12 17:31:18 · 116 阅读 · 0 评论 -
设计模式(三)策略模式
策略模式(Strategy Pattern): 定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户。 和工厂模式最大的区别是工厂模式客户不需要关心对象创建的过程而策略模式需要用户自己去决定对象创建工程的步骤 举个例子: 我们去吃饭,工厂模式就好比,我们只需要决定我们是吃中餐还是西餐即可,而策略模式就好比,我们自己决定是吃中餐就需要做一盘川菜或者粤菜,需...原创 2018-09-12 17:18:25 · 136 阅读 · 0 评论 -
设计模式(一)设计模式简介分类
什么是设计模式 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码...原创 2018-09-06 09:04:22 · 181 阅读 · 0 评论