设计模式
文章平均质量分 64
大雄ctu
这个作者很懒,什么都没留下…
展开
-
常用设计模式及其代码实现
常用设计模式其实代码实现原创 2023-02-09 16:06:44 · 276 阅读 · 0 评论 -
设计模式之命令模式
命令模式 The command pattern encapsulates a request as an object, thereby letting us parameterize other objects with different requests, queue or log requests, and support undoable operations. 定义:命令模式将请求(命令)封装为一个对象,这样可以使用不同的请求参数化其他对象(将不同请求依赖注入到其他对象),并且能够支持请求(命原创 2021-03-26 10:21:02 · 202 阅读 · 1 评论 -
设计模式之享元模式(下)
享元模式 享元模式在 Java Integer 中的应用 public static void main(String[] args) { Integer i1 = 56; Integer i2 = 56; Integer i3 = 129; Integer i4 = 129; System.out.println(i1 == i2); System.out.println(i1.equals(i2)); System.out.println(i3原创 2021-03-25 13:44:44 · 85 阅读 · 0 评论 -
设计模式之享元模式(上)
享元模式 flyweight design pattern enables use sharing of objects to support large numbers of fine-grained objects efficiently. A flyweight is a shared object that can be used in multiple contexts simultaneously. The flyweight acts as an independent object in e原创 2021-03-25 10:16:15 · 110 阅读 · 0 评论 -
设计模式之组合模式
组合模式 Compose objects into tree structure to represent part-whole hierarchies. Composite lets client treat individual objects and compositions of objects uniformly. 定义:将一组对象组织(Compose)成树形结构,以表示一种“部分 - 整体”的层次结构。组合让客户端(在很多设计模式书籍中,“客户端”代指代码的使用者)可以统一单个对象和组合对象的处原创 2021-03-23 10:24:51 · 130 阅读 · 0 评论 -
设计模式之门面模式
门面模式 Provide a unified interface to a set of interfaces in a subsystem. Facade Pattern defines a higher-level interface that makes the subsystem easier to use. 定义: 门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。 如A系统设计时,按照接口复用原则,划分接口A1, A2,A3。B系统需要多次调用A接口A1,A2,A3完成相应功原创 2021-03-22 10:25:05 · 108 阅读 · 0 评论 -
设计模式之适配器模式
适配器模式 定义:An adapter allows two incompatible interfaces to work together. This is the real-world definition for an adapter. Interfaces may be incompatible, but the inner functionality should suit the need. The adapter design pattern allows otherwise incompa原创 2021-03-19 17:16:14 · 101 阅读 · 0 评论 -
设计模式之策略模式
策略模式 定义: Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it 定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端(这里的客户端代指使用算法的代码)。 策略模式被广泛使用 (1)如redis原创 2021-03-12 13:57:34 · 93 阅读 · 0 评论 -
设计模式之责任链模式
责任链模式 Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it. 定义 将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对原创 2021-03-09 14:55:59 · 114 阅读 · 0 评论 -
设计模式之工厂模式
设计模式之工厂模式 工厂模式分为三种更加细分的类型:简单工厂、工厂方法和抽象工厂。 简单工厂模式 案例:根据不同文件类型,解析配置文件,源代码如下: public RuleConfig load(String ruleConfigFilePath) { String ruleConfigFileExtension = getFileExtension(ruleConfigFilePath); IRuleConfigParser parser = null; parser = cre原创 2021-03-04 21:44:16 · 187 阅读 · 2 评论 -
设计模式之单例模式2
设计模式之单例模式2 单例模式存在的问题 单例对 OOP 特性的支持不友好 单例会隐藏类之间的依赖关系 单例对代码的扩展性不友好 单例对代码的可测试性不友好 单例不支持有参数的构造函数 如何解决构造参数问题 第一种解决思路是:创建完实例之后,再调用 init() 函数传递参数 。确保init函数调用,否则抛出系统异常。 package com.hero.designpatten.singleton; /** * @description: Singleton * @date: 2021/3原创 2021-03-04 21:42:21 · 145 阅读 · 1 评论 -
设计模式之单例模式
设计模式之单例模式1 1.单例的定义 单例设计模式(Singleton Design Pattern)理解起来非常简单。一个类只允许创建一个对 象(或者叫实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单 例模式。 2.单例的用处 从业务概念上,有些数据在系统中只应该保存一份,就比较适合设计为单例类。比如,系统 的配置信息类。除此之外,我们还可以使用单例解决资源访问冲突的问题。 3.单例的实现 单例有下面几种经典的实现方式。 饿汉式 饿汉式的实现方式,在类加载的期间,就已经将 ins原创 2021-03-04 21:40:37 · 100 阅读 · 1 评论