Java设计模式分析
文章平均质量分 92
Java的设计模式分析
小馬佩德罗
业精于勤荒于嬉,行成于思毁于随
展开
-
系统架构设计师考试-专业英语
词汇含义access存取active-matrix主动矩阵adapter适配器,转换器adapter cards适配卡agents代理analog signals模拟信号animations动画applets程序arithmetic operations算术运算array数组,阵列assembly汇编,安装,装配asynchronous异步的,非同步的asynchronous communic原创 2024-03-20 09:20:32 · 489 阅读 · 0 评论 -
设计模式的另一种有趣理解
当系统的状态变化时,系统便改变所选的子类。跟MM交往时,一定要注意她的状态哦,在不同的状态时她的行为会有不同,比如你约她今天晚上去看电影,对你没兴趣的MM就会说“有事情啦”,对你不讨厌但还没喜欢上的MM就会说“好啊,不过可以带上我同事么?MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞掂,这就是我的“我爱你”builder。原创 2024-02-20 16:05:51 · 1278 阅读 · 0 评论 -
推荐Java设计模式教程
推荐Java设计模式教程推荐Java设计模式教程原创 2021-06-07 17:09:47 · 180 阅读 · 0 评论 -
Java设计模式 -0- UML类图及类图之间的关系
Java设计模式 -0- UML类图及类图之间的关系前言类、接口和类图1. 类2. 接口3. 类图类之间的关系1. 依赖关系2. 关联关系3. 聚合关系4.组合关系5.泛化关系6.实现关系类关系记忆技巧总结前言在 UML 2.0 的 13 种图中,类图(Class Diagrams)是使用频率最高的 UML 图之一。类图描述系统中的类,以及各个类之间的关系的静态视图,能够让我们在正确编写代码之前对系统有一个全面的认识。类图是一种模型类型,确切地说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系转载 2021-06-30 09:59:05 · 1240 阅读 · 0 评论 -
Java设计模式 -0- 软件设计七大原则
Java设计模式 -00- 软件设计七大原则1. 开闭原则1.1 开闭原则的定义1.2 开闭原则的作用1.2.1 对软件测试的影响1.2.2 可以提高代码的可复用性1.2.3 可以提高软件的可维护性1.3 开闭原则的实现方法2. 里氏替换原则2.1 里氏替换原则的定义2.2 里氏替换原则的作用2.3 里氏替换原则的实现方法3. 依赖倒置原则3.1 依赖倒置原则的定义3.2 依赖、倒置原则的作用3.3 依赖倒置原则的实现方法4. 单一职责原则4.1 单一职责原则的定义4.2 单一职责原则的优点4.3 单一职责转载 2021-06-30 10:35:59 · 1540 阅读 · 0 评论 -
Java设计模式 -1- 单例设计模式(Singleton 模式)
创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节,对象的创建由相关的工厂来完成。就像我们去商场购买商品时,不需要知道商品是怎么生产出来一样,因为它们由专门的厂商生产。创建型模式分为以下几种。单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。转载 2021-06-18 14:17:14 · 1310 阅读 · 0 评论 -
Java设计模式 -2- 原型设计模式
在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样简单。原型模式的定义与特点原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。例如,Windows 操作系统的安装通常较耗时,如果复制就快了很多。在生活中复制转载 2021-06-29 10:27:48 · 1059 阅读 · 0 评论 -
Java设计模式 -3- 简单工厂模式
java设计模式 -3- 简单工厂模式前言优点和缺点优点:缺点:应用场景模式的结构与实现前言现实生活中,原始社会自给自足(没有工厂),农耕社会小作坊(简单工厂,民间酒坊),工业革命流水线(工厂方法,自产自销),现代产业链代工厂(抽象工厂,富士康)。我们的项目代码同样是由简到繁一步一步迭代而来的,但对于调用者来说,却越来越简单。在日常开发中,凡是需要生成复杂对象的地方,都可以尝试考虑使用工厂模式来代替。注意:上述复杂对象指的是类的构造函数参数过多等对类的构造有影响的情况,因为类的构造过于复杂,如果直转载 2021-06-18 10:25:52 · 1058 阅读 · 0 评论 -
Java设计模式 -4- 工厂方法模式
Java设计模式 -4- 工厂方法模式前言优点:缺点:应用场景:模式的结构与实现1. 模式的结构2. 模式的实现模式的应用实例前言在现实生活中社会分工越来越细,越来越专业化。各种产品有专门的工厂生产,彻底告别了自给自足的小农经济时代,这大大缩短了产品的生产周期,提高了生产效率。同样,在软件开发中能否做到软件对象的生产和使用相分离呢?能否在满足“开闭原则”的前提下,客户随意增删或改变对软件相关对象的使用呢?这就是本节要讨论的问题。在《简单工厂模式》一节我们介绍了简单工厂模式,提到了简单工厂模式违背了开闭转载 2021-06-29 10:41:33 · 994 阅读 · 0 评论 -
Java设计模式 -5- 抽象工厂模式
Java设计模式 -5- 抽象工厂模式前言模式的定义与特点模式的结构与实现1. 模式的结构2. 模式的实现模式的应用场景模式的扩展前言前面介绍的工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机、计算机软件学院只培养计算机软件专业的学生等。同种类称为同等级,也就是说:工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂是综合型的工厂,能生产多等级(种类) 的产品,如农场里既养动物又种植物,电器厂既生产电视机又生产洗衣机或空调,大学既有软件专业又有生物专业等。本节要介转载 2021-06-29 11:00:44 · 1206 阅读 · 0 评论 -
Java设计模式 -6- 建造者模式(Bulider模式)
Java设计模式 -6- 建造者模式(Bulider模式)前言模式的定义与特点模式的结构与实现1. 模式的结构2. 模式的实现模式的应用实例模式的应用场景建造者模式和工厂模式的区别模式的扩展前言在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 CPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告诉计算机销售公司,计算机销售公司安排技术人员去组装计算机,然后再交给要买计转载 2021-06-29 11:10:13 · 1150 阅读 · 0 评论 -
Java设计模式 -7- 代理模式(Proxy模式)
这里写目录标题前言代理模式的定义与特点代理模式的主要优点有:主要缺点是:代理模式的结构与实现1. 模式的结构2. 模式的实现代理模式的应用实例代理模式的应用场景代理模式的扩展前言结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。结构型模式分为以下 7 种:代理(Proxy)模式:转载 2021-06-30 09:35:39 · 1192 阅读 · 0 评论 -
Java设计模式 -8- 适配器模式(Adapter模式)
Java设计模式 -7- 适配器模式(Adapter模式)前言模式的定义与特点模式的结构与实现1. 模式的结构2. 模式的实现模式的应用实例模式的应用场景模式的扩展前言在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器等。在软件设计中也可能出现:需要开发的具有某种业务功能的组件在现有的组件库中已经存在,但它们与当前转载 2021-06-30 15:11:46 · 1426 阅读 · 0 评论 -
Java设计模式 -9- 桥接模式(Bridge模式)
Java设计模式 -9- 桥接模式(Bridge模式)桥接模式的定义与特点优点:缺点:桥接模式的结构与实现1. 模式的结构2. 模式的实现桥接模式的应用实例桥接模式的应用场景桥接模式模式的扩展在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n 种颜色的图形就有 m×n 种,不但对应的子类很多,而且扩展困难。当然,这样的例子还有很多,如不同颜色和字体的文字、不同品牌转载 2021-07-02 09:57:58 · 1787 阅读 · 0 评论 -
Java设计模式 -10- 装饰器模式(Decorator模式)
Java设计模式 -9- 装饰器模式(装饰设计模式)装饰器模式的定义与特点优点:缺点:装饰器模式的结构与实现1. 模式的结构2. 模式的实现装饰器模式的应用实例装饰器模式的应用场景装饰器模式的扩展上班族大多都有睡懒觉的习惯,每天早上上班时间都很紧张,于是很多人为了多睡一会,就会用方便的方式解决早餐问题。有些人早餐可能会吃煎饼,煎饼中可以加鸡蛋,也可以加香肠,但是不管怎么“加码”,都还是一个煎饼。在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等,都是装饰器模式。在软件开发转载 2021-07-02 10:23:52 · 1689 阅读 · 0 评论 -
Java设计模式 -11- 外观模式(Facade模式)
Java设计模式 -11- 外观模式(Facade模式)外观模式的定义与特点优点:缺点:外观模式的结构与实现1. 模式的结构2. 模式的实现外观模式的应用实例外观模式的应用场景外观模式的扩展在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法转载 2021-07-02 12:35:07 · 1436 阅读 · 0 评论 -
Java设计模式 -12- 享元模式(Flyweight模式)
Java设计模式 -12- 享元模式享元模式的定义与特点优点:缺点:享元模式的结构与实现1. 模式的结构2. 模式的实现享元模式的应用实例享元模式的应用场景享元模式的扩展在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。例如:围棋和五子棋中的黑白棋子,图像中的坐标点或颜色,局域网中的路由器、交换机和集线器,教室里的桌子和凳子等。这些对象有很多相似的地方,如果能把它们相同的部分提取出来共享,则能节省大量的系统资源,这转载 2021-07-02 14:32:25 · 1122 阅读 · 0 评论 -
Java设计模式 -13- 组合模式(Composite模式)
Java设计模式 -13- 组合模式组合模式的定义与特点优点:缺点:组合模式的结构与实现1. 模式的结构(1) 透明方式(2) 安全方式2. 模式的实现透明组合模式安全组合模式组合模式的应用实例组合模式的应用场景组合模式的扩展在现实生活中,存在很多“部分-整体”的关系,例如,大学中的部门与学院、总公司中的部门与分公司、学习用品中的书与书包、生活用品中的衣服与衣柜、以及厨房中的锅碗瓢盆等。在软件开发中也是这样,例如,文件系统中的文件与文件夹、窗体程序中的简单控件与容器控件等。对这些简单对象与复合对象的处理,转载 2021-07-02 14:46:03 · 1553 阅读 · 0 评论 -
Java设计模式 -14- 模板方法模式(Template Method模式)
Java设计模式 -14- 模板方法模式(Template Method模式)前言模式的定义与特点模式的结构与实现1. 模式的结构1)抽象类/抽象模板(Abstract Class)2. 模式的实现模式的应用实例模式的应用场景模式的扩展前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组转载 2021-07-04 13:25:40 · 1391 阅读 · 0 评论 -
Java设计模式 -15- 策略模式(Strategy 模式)
Java设计模式 -15- 策略模式(Strategy 模式)前言策略模式的定义与特点优点缺点策略模式的结构与实现1. 模式的结构2. 模式的实现策略模式的应用实例策略模式的应用场景前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则转载 2021-07-06 14:38:23 · 696 阅读 · 0 评论 -
Java设计模式 -16- 命令模式(Command 模式)
Java设计模式 -16- 命令模式(Command 模式)前言命令模式的定义与特点优点:缺点:命令模式的结构与实现1. 模式的结构2. 模式的实现命令模式的应用实例命令模式的应用场景命令模式的扩展前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满转载 2021-07-06 18:03:04 · 1316 阅读 · 0 评论 -
Java设计模式 -17- 责任链模式(Chain of Responsibility 模式)
Java设计模式 -17- 责任链模式(Chain of Responsibility 模式)前言模式的定义与特点优点:缺点:模式的结构与实现1. 模式的结构2. 模式的实现模式的应用实例模式的应用场景模式的扩展前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关转载 2021-07-07 11:49:09 · 634 阅读 · 0 评论 -
Java设计模式 -18- 状态模式(State 模式)
Java设计模式 -18- 状态模式(State 模式)前言状态模式的定义与特点状态模式是一种对象行为型模式,其主要优点如下。状态模式的主要缺点如下。状态模式的结构与实现1. 模式的结构2. 模式的实现状态模式的应用实例状态模式的应用场景状态模式的扩展拓展状态模式与责任链模式的区别状态模式与策略模式的区别前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采转载 2021-07-07 13:47:49 · 748 阅读 · 0 评论 -
Java设计模式 -20- 中介者模式(Mediator 模式)
Java设计模式 -20- 中介者模式(Mediator 模式)前言模式的定义与特点优点:缺点:模式的结构与实现1. 模式的结构2. 模式的实现模式的应用实例模式的应用场景模式的扩展前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则转载 2021-07-08 16:01:41 · 312 阅读 · 0 评论 -
Java设计模式 -21- 迭代器模式(Iterator 模式)
Java设计模式 -21- 迭代器模式(Iterator 模式)前言模式的定义与特点优点:缺点:模式的结构与实现1. 模式的结构2. 模式的实现模式的应用场景模式的扩展前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行转载 2021-07-08 19:04:41 · 368 阅读 · 0 评论 -
Java设计模式 -22- 访问者模式(Visitor 模式)
Java设计模式 -22- 访问者模式(Visitor 模式)前言前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。行为型模式是 GoF 设计模式中最为庞大的一类,它包含以下 11转载 2021-07-08 19:10:23 · 672 阅读 · 0 评论 -
Java设计模式 -23- 备忘录模式(Memento 模式)
Java设计模式 -23- 备忘录模式(Memento 模式)前言前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。行为型模式是 GoF 设计模式中最为庞大的一类,它包含以下 11转载 2021-07-08 19:11:49 · 381 阅读 · 0 评论 -
Java设计模式 -24- 解释器模式(Interpreter 模式)
Java设计模式 -23- 解释器模式(Interpreter 模式)前言前言行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。行为型模式是 GoF 设计模式中最为庞大的一类,它包含以转载 2021-07-08 19:13:04 · 571 阅读 · 0 评论