Java设计模式
文章平均质量分 83
Java设计模式笔记
梦~开始
Reach for the sky because if you should happen to miss, you'll still be among the stars.
展开
-
14.代理模式
代理模式(Proxy)基本介绍代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象代理模式有不同的形式, 主要有三种 静态代理、**动态代理 (JDK代理、接口代理)**和 Cglib代理 (可以在内存中动态的创建对象,而不需要实现接口, 他是属于动态代理的范畴) 。静态代理1、基本介绍静态代理在使用时,原创 2021-08-14 16:56:38 · 113 阅读 · 0 评论 -
13.享元模式
问题小型的外包项目,给客户 A 做一个产品展示网站,客户 A 的朋友感觉效果不错,也希望做这样的产品展示网 站,但是要求都有些不同:有客户要求以新闻的形式发布有客户人要求以博客的形式发布有客户希望以微信公众号的形式发布传统方法直接复制粘贴一份,然后根据客户不同要求,进行定制修改给每个网站租用一个空间方案设计示意图问题分析需要的网站结构相似度很高,而且都不是高访问量网站,如果分成多个虚拟空间来处理,相当于一个相同网站 的实例对象很多,造成服务器的资原创 2021-08-14 16:54:34 · 82 阅读 · 0 评论 -
12.外观模式
问题影院管理项目组建一个家庭影院:DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为:直接用遥控器:统筹各设备开关,开爆米花机 ,放下屏幕 ,开投影仪开音响 ,开 DVD、选 dvd,去拿爆米花 ,调暗灯光 ,播放 ,观影结束后,关闭各种设备传统方法问题分析在 ClientTest 的 main 方法中,创建各个子系统的对象,并直接去调用子系统(对象)相关方法,会造成调用过程 混乱,没有清晰的过程不利于在 Clie原创 2021-08-14 16:52:07 · 82 阅读 · 0 评论 -
11.组合模式
问题编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 一个学院有多个系。如图:传统方案产生的问题将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的实际上我们的要求是 :在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系, 因此这种方案,不能很好实现的管理的操作,比如对学院、系的添加,删除,遍历等解决方案:把学校、院、系都看做是组织结构,他们之间没有继承的关系,而是一个树形结构,可以更好的实原创 2021-08-14 16:49:26 · 73 阅读 · 0 评论 -
10.装饰者模式
问题星巴克咖啡订单项目(咖啡馆)咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡)调料:Milk、Soy(豆浆)、Chocolate要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便使用面向对象的来计算不同种类咖啡的费用: 客户可以点单品咖啡,也可以单品咖啡+调料组合。方案一分析Drink 是一个抽象类,表示饮料des 就是对咖啡的描述, 比如咖啡的名字原创 2021-08-14 16:44:01 · 79 阅读 · 0 评论 -
9.桥接模式
传统方法对应的类图产生的问题扩展性问题(类爆炸),如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同样如果我们增加 一个手机品牌,也要在各个手机样式类下增加。违反了单一职责原则,当我们增加手机样式时,要同时增加所有品牌的手机,这样增加了代码维护成本.解决方案-使用桥接模式桥接模式基本介绍桥接模式(Bridge 模式)是指:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变。是一种结构型设计模式Bridge 模式基于类的最小设计原则,通原创 2021-08-14 16:40:50 · 79 阅读 · 0 评论 -
8.适配器模式
适配器模式基本介绍适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本 因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)适配器模式属于结构型模式主要分为三类:类适配器模式、对象适配器模式、接口适配器模式工作原理适配器模式:将一个类的接口转换成另一种接口.让原本接口不兼容的类可以兼容从用户的角度看不到被适配者,是解耦的用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接原创 2021-08-14 16:36:28 · 83 阅读 · 0 评论 -
7.建造者模式
问题需要建房子:这一过程为打桩、砌墙、封顶房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的.传统方式代码展示package demo01;public class Client { public static void main(String[] args) { CommonHouse commonHouse=new CommonHouse(); commonHouse.build(); }}原创 2021-08-13 09:31:03 · 82 阅读 · 0 评论 -
6.原型模式
问题:现在有一只羊 tom,姓名为: tom, 年龄为:1,颜色为:白色,请编写程序创建和 tom 羊 属性完全相同的 10 只羊。传统方法代码展示package demo01;public class Sheep { private String name; private int age; private String color; public String getName() { return name; } pu原创 2021-08-13 09:20:54 · 78 阅读 · 0 评论 -
5.工厂设计模式
工厂设计模式问题:看一个披萨的项目:要便于披萨种类的扩展,要便于维护披萨的种类很多(比如 GreekPiz 、CheesePiz 等)披萨的制作有 prpare,bake, cut, box完成披萨店订购功能。传统方式思路分析代码展示public class pizzaStore { public static void main(String[] args) { new OrderPizza(); }}//----------原创 2021-08-13 09:15:33 · 72 阅读 · 0 评论 -
4.单例模式
单例模式的简单介绍所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量原创 2021-08-13 08:55:10 · 79 阅读 · 0 评论 -
2.UML类图
UML简单介绍UML ----Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用 于帮助软件开发人员进行思考和记录思路的结果UML 本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他 们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等,如下图:UML的分类用例图(use case)静态结构图:类图、对象图、包图、组件图、部署图动态行为图:交互图(时序图与协作图)、状态图、原创 2021-08-13 08:52:18 · 193 阅读 · 0 评论 -
3.设计模式简单介绍
掌握设计模式层次第 1 层:刚开始学编程不久,听说过什么是设计模式第 2 层:有很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己却不知道第 3 层:学习过了设计模式,发现自己已经在使用了,并且发现了一些新的模式挺好用的第 4 层:阅读了很多别人写的源码和框架,在其中看到别人设计模式,并且能够领会设计模式的精妙和带来的 好处。第 5 层:代码写着写着,自己都没有意识到使用了设计模式,并且熟练的写了出来。设计模式介绍设计模式是程序员在面对同类软件工程设计问题所总结出来的有原创 2021-08-13 08:53:36 · 85 阅读 · 0 评论 -
单例模式(基础)
单例模式所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。原创 2021-02-01 22:29:50 · 66 阅读 · 0 评论 -
1.设计模式七大原则
设计模式的目的编写软件过程中,程+序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的 挑战,设计模式是为了让程序(软件),具有更好代码重用性 (即:相同功能的代码,不用多次编写)可读性(即:编程规范性, 便于其他程序员的阅读和理解)可扩展性(即:当需要增加新功能时,非常的方便,称为可维护)可靠性(即:当我们增加新功能时,对原来功能没有影响)使程序呈现高内聚,低耦合的特性设计模式七大原则单一职责原则接口隔离原则依赖倒装(倒置)原则里式替换原则开原创 2021-08-13 08:35:18 · 152 阅读 · 0 评论