Java设计模式
Burgess_Lee
对编程语言和新技术非常感兴趣,志同道合者我们一起来学习,如有好的建议或不对的地方, 还希望广大程序猿予以指正。
展开
-
04 原型模式Prototype Pattern
使用场景简单点说就是克隆对象!适用场景如下:1.当初始化类对象需要消耗非常多资源,或者说要进行繁琐的数据准备或者权限,如果想简化创建,可以使用原型模式。 2.一个对象提供给其他对象访问,而各个调用者可能都需要修改对象的值,可以考虑使用原型模式克隆多个对象供调用者使用(保护性拷贝)组成部分(三个角色):Prototype —— 声明一个克隆自身的接口,用于约束想要克隆自己的类,要求实...转载 2018-10-11 10:24:20 · 109 阅读 · 0 评论 -
03 建造者模式
应用场景将复杂对象的构建与它的表示分离开来,使得同样的构建过程可以 创建不同的表示。举个简单例子:自定义游戏角色时,游戏角色由: 性别,脸部,衣服三个部分组成,我们根据自己的喜好进行选择, 最终胜出一个自定义的角色,不同的组成部分,最后生成的角色 也不一样。组成部分(四个角色)Product —— 产品类 Builder —— 抽象的Builder类,规范产品的组建,一般由子类实现具...转载 2018-10-10 11:28:43 · 359 阅读 · 0 评论 -
08 装饰者模式(Decorator Pattern)
描述性文字还记得工厂方法模式中示例代码中的奶茶店吗?在那一节中讲解的是通过工厂方法模式来做奶茶,做奶茶的工作都已经交给小弟了, 小猪的工作量少了很多。于是,写出所有饮品的价格:奶茶:原味奶茶:5块 珍珠奶茶:7块 椰果奶茶:7块 珍珠椰果奶茶:9块柠檬茶:原味柠檬茶:3块 金桔柠檬茶:5块.然后顾客要什么点什么,按着菜单收费就好了,然而用户的 需求都是多变的,他们觉得配...转载 2018-10-16 17:22:06 · 244 阅读 · 0 评论 -
07 适配器模式(Adapter Pattern)
概念相关定义: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而 使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。简单点说:两个彼此间没有太大关联的类,想进行交互完成某些事情,如果 直接去修改各自的接口,就显得有些繁琐了,可以加个中间类, 用它来协调两类之间的关系,完成相关业务。这种玩法就叫适配器模式!两种适配器模式:根据适配器类与适配者类的关系不同,...转载 2018-10-16 16:06:40 · 147 阅读 · 0 评论 -
02 单例模式
在开始具体的设计模式之前,先看一个设计模式的总览图。(此处直接复用别人的图片)实际上以上的划分方式和我们类和类之间的关系有一定的联系。不知道类之间的关系的朋友,请参考上篇博文。以下是具体单例模式的介绍了。1.应用场景:当需要保证类在内存中的对象唯一性,可以使用单例模式, 不想创建多个实例浪费资源,或者避免多个实例由于多次调用 而出现错误。一般写工具类,线程池,缓存,数据库等可...转载 2018-10-09 11:22:05 · 88 阅读 · 0 评论 -
01 面向对象相关概述
主要针对面向对象的三大特性,类与类的六种关系以及面向对象的七大原则进行一些总结和介绍。面向对象的三大特性封装(Encapsulation)不需要知道对象具体实现细节,通过共有方法暴露对象的功能。继承(Inheritance)使用已经存在的类作为基础类(父类),在此基础上建立新类(子类),子类既可以复用父类的功能,也能进行扩展,从而提高了代码的复用。另外,Java不像C++一样可...转载 2018-10-09 10:17:28 · 120 阅读 · 0 评论 -
00 设计模式开篇--java
已经很久没有写博客了,过了一个十一假期,没有说有了一些的世俗气的经历,也算是有了一些经验。看到之前博客写到了jdk源码的一部分,突发奇想,感觉也应该在复习准备一下设计模式相关的知识。不知道受不受大家或者读者的喜爱了。个人感觉设计模式需要定期的看一看,有些时候,还是有些遗忘。对于经常编码的人来说,可能有几种东西平时肯定需要经过一定时间的锻炼才能逐渐消化成为自己的东西,设计模式就算是一个。不知...原创 2018-10-09 10:16:23 · 105 阅读 · 0 评论 -
06 抽象工厂模式(Abstract Factory Pattern)
隔了两三天,今天在复习两个设计模式。描述性文字上节通过奶茶店的例子引入了简单工厂模式与工厂方法模式, 本节我们来继续通过这个例子引出抽象工厂模式!代码示例package abstractFactoryPattern;import java.util.Random;/** * 抽象工厂模式测试例程 * @Package abstractFactoryPatt...转载 2018-10-15 16:10:20 · 177 阅读 · 0 评论 -
05 工厂方法模式(Factory Method Pattern)
引入简单工厂模式,再引入工厂方法模式。代码示例如下:package factoryPattern;/** * 简单工厂模式的例程 * @Package factoryPattern * @Title: SimplePattern.java * @Company: $ * @author BurgessLee * @dat...转载 2018-10-11 13:49:07 · 118 阅读 · 0 评论 -
09 组合模式(Composite Pattern)
本篇博文说的是组合模式描述性文字组合模式,又称为 部分整体模式,把具有相似的一组对象 当做一个对象处理,用一种树状的结构来组合对象,再提供统一的方法去访问相似的对象,以此忽略掉对象与对象容器间的差别。举个栗子 注:此处直接使用的是原图。假设这两类需求如下:菜单:菜单名,描述信息,添加,添加删除子菜单或菜品 递归打印出所有的子菜单与菜品!菜品:菜名,描述信息,价格,打...转载 2018-10-25 17:48:02 · 176 阅读 · 0 评论