设计模式
设计模式学习
王逍遥大人
一个好人
展开
-
设计模式-七大设计原则
设计模式的目的软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好的代码重用性 (即:相同功能的代码,不用多次编写)可读性 (即:编程规范性, 便于其他程序员的阅读和理解)可扩展性 ...原创 2020-07-04 16:59:11 · 190 阅读 · 0 评论 -
迭代器模式 -Java描述
概述与定义概述:在软件开发中,我们经常需要使用聚合对象来存储一系列数据。聚合对象拥有两个职责:一是存储数据;二是遍历数据。从依赖性来看,前者是聚合对象的基本职责;而后者既是可变化的,又是可分离的。因此,可以将遍历数据的行为从聚合对象中分离出来,封装在一个被称之为“迭代器”的对象中,由迭代器来提供遍历聚合对象内部数据的行为,这将简化聚合对象的设计,更符合“单一职责原则”的要求。迭代器模式定义如下:迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示原创 2020-06-04 01:05:10 · 339 阅读 · 0 评论 -
策略模式-Java描述
文章目录概述案例实践总结概述在策略模式中,我们可以定义一些独立的类来封装不同的算法,每一个类封装一种具体的算法,在这里,每一个封装算法的类我们都可以称之为一种策略(Strategy),为了保证这些策略在使用时具有一致性,一般会提供一个抽象的策略类来做规则的定义,而每种算法则对应于一个具体策略类。策略模式的主要目的是将算法的定义与使用分开,也就是将算法的行为和环境分开,将算法的定义放在专门的策略类中,每一个策略类封装了一种实现算法,使用算法的环境类针对抽象策略类进行编程,符合“依赖倒转原则”。在出现新的原创 2020-06-02 01:01:43 · 1108 阅读 · 0 评论 -
外观模式-Java描述
文章目录概述实例练习总结概述外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。外观模式中,一个子系统的外部与其内部的通信通过一个统一的外观类进行,外观类将客户类与子系统的内部复杂性分隔开,使得客户类只需要与外观角色打交道,而不需要与子系统内部的很多对象打交道。外观模式定义如下: 外观模式:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使原创 2020-05-31 01:26:09 · 312 阅读 · 0 评论 -
组合模式 -Java描述
文章目录概述实例操作总结扩展:透明组合模式安全组合模式概述树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题,组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器节点(包含子节点的节点)。下面将学习这种用于处理树形结构的组合模式。对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将原创 2020-05-31 01:04:30 · 1536 阅读 · 0 评论 -
工厂模式三兄弟(简单、方法、抽象工厂)Java描述
文章目录简单工厂模式简单工厂模式概述工厂模式是最常用的一类创建型设计模式,通常我们所说的工厂模式是指工厂方法模式,它也是使用频率最高的工厂模式。本章将要学习的简单工厂模式是工厂方法模式的“小弟”,它不属于GoF 23种设计模式,但在软件开发中应用也较为频繁,通常将它作为学习其他工厂模式的入门。此外,工厂方法模式还有一位“大哥”——抽象工厂模式。这三种工厂模式各具特色,难度也逐个加大,在软件开发中它们都得到了广泛的应用,成为面向对象软件中常用的创建对象的工具。简单工厂模式项目需求(图表的设计)软件原创 2020-05-30 21:31:15 · 540 阅读 · 0 评论 -
Java实现线程安全的单例模式
大家可以看一下普通的单例模式,里面有懒汉式和饿汉式单例模式,对后面线程安全单例模式做个铺垫。java 单例模式我们这讨论的是创建时的线程安全的实现。实现1public final class Singleton implements Serializable { private Singleton(){} private static final Singleton IN...原创 2020-04-02 00:29:28 · 645 阅读 · 0 评论 -
Balking(犹豫)模式
引子:两阶段终止设计模式犹豫模式原创 2020-03-31 01:07:10 · 190 阅读 · 0 评论 -
两阶段终止设计模式
为什么需要两阶段终止设计模式:在主线程里创建了临界区对象,主线程里创建了一个线程t1去访问临界区,而临界区里面有一个监控线程(在t1访问临界区调用创建监控线程的方法)当我们需要在另外一个线程里(我的代码里是主线程)想要结束监控线程,那么就调用结束方法去结束监控线程。至于如何结束临界区中的监控线程因为stop方法已经废弃,而interupt也不是终止线程,所以这时我们就需要两阶段终止设计模式,来终...原创 2020-03-31 00:45:36 · 279 阅读 · 0 评论 -
java 单例模式
单例模式是什么在操作中有时要求一个类,只能创造一个实例。单例模式就是这种设计模式。单例模式特点1、单例模式只能有一个实例。2、单例类必须创建自己的唯一实例。3、单例类必须向其他对象提供这一实例。单例模式实现懒汉式单例模式public class Singleton {//懒汉式单例模式 private static Singleton instance; publi...原创 2019-04-25 17:17:32 · 268 阅读 · 0 评论