设计模式
通过图示和代码的方法学习软件工程中的设计模式
Forlogen
无论世事如何,你都要成为一个更优秀的人。
展开
-
理解设计模式中的责任链模式
文章目录1. 引入2. 概念3. 案例4. 总结5. 应用1. 引入责任链模式的思想其实广泛的存在于生活中各个隐秘的角落中,例如以各种维权事件来进行说明。假设Forlogen通过不懈努力的加班,终于攒够了一套小房子的首付,他开开心心的去售楼处交了首付。经过了很长时间的等待,售楼处通知Forlogen可以交房了,于是他满心期待的去验房。但当他进入自己的房子后发现了各种各样的问题,完全达不到交房的标准,于是他像很多的业主一样准备开始了维权之路。首先他来到了售楼处:Forlogen:你们这种质量的房子原创 2020-07-16 10:48:17 · 259 阅读 · 0 评论 -
Java中的代理和代理模式
文章目录Java中的代理和代理模式1. 代理模式2. 静态代理3. 动态代理4. 源码分析5. 参考Java中的代理和代理模式1. 代理模式代理模式通过为某个对象提供一个代理来控制对于该对象的访问。代理类主要负责为委托类(真实对象)预处理消息、过滤消息、传递消息给委托类。代理类本身不负责具体的实现,而是利用委托类来完成具体的业务实现,并将执行结果进行封装处理。代理类为委托类进行消息预处理、消息的过滤等操作后,将消息传递给被代理类(委托类),之后还可以进行消息的后处理操作。代理类和委托类通常会存在关原创 2020-06-03 10:53:19 · 368 阅读 · 0 评论 -
理解设计模式中的适配器模式
适配器模式文章目录适配器模式1. 引入2.定义3. 类适配器模式4. 对象适配器模式5. 双向适配器模式6.总结1. 引入适配器模式的思想本身就来源于生活,我们在日常生活中不时地就会用到它。例如:如果不同电压之间需要电源适配器的转换才能使用;不同语言的人之间交流需要一个懂这两门语言的翻译;不同货币之间的相关兑换需要银行这样的兑换机构……因此,使用适配器并不会改变双方本身的状态,而是通过一个中间的桥梁,实现彼此的转换,使得某一方可以通过桥梁正常的使用另一方,或是彼此之间相互正常使用。2.定义适配器.原创 2020-05-25 23:49:32 · 545 阅读 · 0 评论 -
理解设计模式中的建造者模式
到目前为止,我们已经学习了五种创建型模式中的四种,它们分别是单例模式、工厂方法模式、抽象工厂模式和原型模式。不同的模式适用的的应用场景有所不同,但也并不是完全隔绝,需要用户根据具体的应用场景选择合适的模式。本文将介绍创建型模式中的最后一种,即建造者模式,并通过代码的方式进行阐述,同时和之前的几种模式做下对比。文章目录建造者模式1. 前言2. 建造者模式4. 总结建造者模式1. 前言如果希望程序在整个过程中只有一个对象实例,那么单例模式中几种线程安全的形式是不错的选择;如果同一类型的产品有很多,..原创 2020-05-24 18:00:48 · 249 阅读 · 0 评论 -
理解设计模式中的原型模式
原型模式May the force be with you文章目录1. 前言2. 案例1. 前言原型模式从根本上来说就是Java中的对象克隆,针对于对象的浅拷贝和深拷贝,Java中提供了两种实现方式:实现Cloneable接口并重写clone()实现Serializable 接口,通过序列化和反序列化实现深拷贝相较于前面的单例模式和工厂模式,对象克隆的开销相对较大,它通常主要应用于以下场景:依赖于外部资源或硬件密集型操作进行新对象的创建的场景获取相同对象在相同状态的拷贝而无须进行重复原创 2020-05-24 09:46:13 · 242 阅读 · 0 评论 -
理解设计模式中的工厂模式
在理解设计模式中的单例模式一文中介绍了创建型模式中最为简单的一种:单例模式,并推荐了几种可以在实际生产中使用的线程安全的形式。本文将继续介绍创建型模式中的工厂方法模式和抽象工厂模式,同样使用代码和类图来直观的理解工厂模式究竟是什么,及如何使用。希望大家阅读完之后,对于工厂模式所涉及的三种形式有一个初步的理解,以便在后续的使用工具中做到举一反三。本文仅限自己的理解,如果错误,欢迎大家指出交流。文章目录前言工厂模式1. 简单工厂模式2. 工厂方法模式3. 抽象工厂模式总结前言工厂模式属于创建..原创 2020-05-23 14:35:01 · 376 阅读 · 0 评论 -
理解设计模式中的单例模式
文章目录前言1. 饿汉式1.1 基于静态常量1.2 基于静态代码块2. 懒汉式2.1 线程不安全实现2.2 同步方法实现2.3 同步代码块实现3. 双检锁/双重校验锁4. 静态内部类实现5. 枚举实现6.总结7. 参考前言单例模式是创建型模式的一种,也是设计模式中最为简单的一种。顾名思义,单例模式指的是类的实例化对象只允许有一个存在。单例模式广泛的应用于众多只需要一个实例化对象存在的场景,如常见的配置文件信息的读取、计算机中许多系统资源的管理等。单例模式的一个直接目的就是获取类的唯一一个实例化对象,.原创 2020-05-18 18:20:13 · 337 阅读 · 0 评论 -
设计模式中的七大原则(代码 + 图解)
文章目录设计模式1. 目的2. 分类3. 原则3.1单一职责原则3.2 接口隔离原则3.3 依赖倒转原则3.4 里氏替换原则3.5 开闭原则3.6 迪米特法则3.7 合成复用原则4. 参考设计模式1. 目的对于某个具体的任务来说,如果要你编码实现它所要求的功能,不同的人会给不同的实现方式。可能写代码的人觉得自己的代码没有问题,但代码的重用性、可扩展性和可维护性等特性可能就很差。因此,为了使软件可以很好的应对耦合性、内聚性、可维护性、重用性、灵活性和可阅读性等多方面的挑战,我们就需要使得编写的软件遵原创 2020-05-16 09:50:16 · 1226 阅读 · 3 评论 -
浅析UML类图
UML类图文章目录UML类图1. 概念2. 符号表示3. 关系3.1 泛化3.2 实现3.3 依赖3.4 关联3.4.1 聚合3.4.2 组合4. 工具推荐4. 工具推荐1. 概念UML(Unified Modeling Language )是用来描述一个一个系统的静态结构的一门语言,它既可以用于一般概念建模、细节建模,也可以用于数据建模。既然算是一门语言,它就具有交流的功能:谁和谁交流:涉及程序开发的所有人员交流什么:程序的整体设计,即类与类之间的关系UML中普通类、抽象类和接口统称为类。原创 2020-05-15 10:52:39 · 289 阅读 · 0 评论