设计模式
踏实_进取
男人,累点没什么
展开
-
java设计模式之简单工厂模式
==============最近人有点懈怠了,在此告诫下自己====================设计模式中的工厂模式,顾名思义就是一个生产对象的加工工厂.想想我们日常生活中的工厂,只需要调用方的简单控制就可以生成我们所需要的相同类型不同实现的对象工厂模式优点:省去调用者直接创建对象,而且如果增加不同的实现对象,调用者不变,只需要修改工厂示例即可.工厂模式缺点:工厂类中集中了所有创建原创 2016-08-29 11:32:13 · 395 阅读 · 0 评论 -
java设计模式之享元模式
============享元模式 的用途 是对系统中存在的大量细粒度对象 进行统一管理的 模式, 以此优化内存支出=====个人觉得,享元模式 和之前讲到的 抽象工厂模式 很是类似,尤其 是 享元模式中的Factory对象和 抽象工厂中的 manager 对象同样都是对 已存在对象进行管理,并在客户端需要的时候直接提供.java中的string类型,源码中就使用到了原创 2016-09-03 14:10:40 · 325 阅读 · 0 评论 -
java设计模式之门面模式
=====门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用===门面模式的优点: ● 松散耦合 门面模式松散了客户端与子系统的耦合关系,让子系统内部的模块能更容易扩展和维护。 ● 简单易用 门面模式让子系统更加易用,客户端不再需要了解子系统内部的实现原创 2016-09-03 14:44:56 · 226 阅读 · 0 评论 -
java设计模式之桥梁模式
==================桥梁模式=========我们日常使用的框架以及软件中有不少地方用到过这个模式.桥梁模式的优点在于解耦(抽象和现实 实现的分离)和更好的延展性.如下面这张图 , 客户端不在意你使用的是mysql或者oracle 我使用的hibernate HQL语句都是一样的.具体的做法:是服务端抽象出公共接口供客户端调用,而接口的实现类则在服务初始化或原创 2016-09-08 15:14:37 · 294 阅读 · 0 评论 -
java设计模式之不变模式
=====设计模式中的金钟罩铁布衫----不变模式=========顾名思义:就是类在创建出来之后,就不再发生变化.这种不变模式 分为两类,一 弱不变模式 二,强不变模式.区分在于 有没有限制其子类是否可变!弱不变模式的创建条件:一,不存在可以修改这个类的方法二,这个类的属性全部为私有属性,防止客户端修改这些属性三,如果这类内部引用了外部的对象,那么尽可能防止客户端修改这原创 2016-09-08 15:39:53 · 1164 阅读 · 0 评论 -
java设计模式之策略模式
============策略模式,web开发中你见到最多的一种模式======策略模式是对算法的封装.方便我们切换不同的算法来应对不同的场景.就像我们日常生活中的会员打折,普通会员95折 黄金会员 9折 附带一些服务 钻石会员8折附带很多服务 应对不同的会员 我们需要提供不同的算法又如我们web开发中常见的filter 需要实现指定的接口,来告诉我们的程序,我这里需要加入原创 2016-09-08 15:57:16 · 269 阅读 · 0 评论 -
java设计模式之代理模式
======代理模式=====代理模式 是对象的结构模式 之一简而言之,即为某个对象提供一个代言人,而这个代言人掌握着本体的实例化权限比如 ,延迟加载,异步响应 等等都是利用代理的方式解决的==============简单的 代理模式代码=================代理抽象类public interface AbstractProxy { void ex原创 2016-09-03 11:21:32 · 266 阅读 · 0 评论 -
java设计模式之装饰模式
==================装饰模式=========我一直认为 装饰模式 只不过 是 适配器模式的另一种名称而已!适配器 只是让我们的接口去适应客户端的要求.因此功能不做变化,而接口会随之发生改变.纯净的装饰模式 是对我们的功能进行装饰和强化 而不对接口进行改变.而我们日常编码过程中 很少会使用到纯净的装饰模式,因为我们一般都是因为客户端的某种要求所以才对我们原创 2016-09-03 10:43:57 · 258 阅读 · 0 评论 -
java设计模式之观察者模式
=============观察者模式===============顾名思义:我们好多客户端同时监控一个服务 如果服务发生了变化,那么我们所有客户端对应做出响应.这样我们的代码就动起来了=========代码=================/* * @类名 Server.java * @作者 zx * @创建日期 2016年9月9日 * @描述 抽象被观察者 */原创 2016-09-12 11:22:12 · 248 阅读 · 0 评论 -
java设计模式之工厂方法模式
接上文,说道简单工厂模式.有一个缺点是如果实体类型过多的时候或者层级结构大于两层时,整个工厂类会显得特别臃肿.这里说的层级结构:比如,手机分为新旧款式 而新旧中还有品牌 等等...而这里用到工厂方法模式(虚拟构造模式或者多态性工厂)简单工厂和工厂方法模式 都是为我们解决 代码过度耦合的问题,为我们提供类似于中间调度的中间件.如果你明确你的实体类型结构不会太过复杂,你还是可原创 2016-08-29 14:13:07 · 397 阅读 · 0 评论 -
java设计模式之模板模式
=======模板模式,是类的行为模式.一般使用抽象类,这个类制订好了整体的骨架(套路),而其中有些相关的方法需要子类去具体实现=====可以先看下具体示例public abstract class AbstractSalary { //final修饰 防止子类修改 public final double getSalary(){ return getWorkTime()*g原创 2016-09-09 14:55:30 · 248 阅读 · 0 评论 -
java设计模式之抽象工厂模式
========前面讲了两种形态的工厂模式====类似下面这样的情况我们前两种工厂模式还适用么===============1. 调用方不需要知道 实例是如何创建 组合 以及 表达的====================================2. 调用方不止需要一种实体(手机,电脑,平板...),甚至需要1套以上========================原创 2016-08-29 15:24:43 · 378 阅读 · 0 评论 -
java设计模式之单例模式
一,饿汉 二,懒汉 三,双重检查加锁 (针对懒汉式的优化)四,现在常用的 Lazy initialization holder class模式第四中是对饿汉式的优化.因为第一种的劣势是完全的空间换时间,而第四种利用类级内部类 实现 调用时再创建,还避免同步的资源消耗.1.相应的基础知识 什么是类级内部类? 简单点说,类级内部类指的是原创 2016-08-29 17:36:03 · 349 阅读 · 0 评论 -
java设计模式之建造模式
=======建造模式和之前的工厂模式咋一听,好像啊! =====我的理解建造模式 相当于java语言里的3D打印============ 什么时候使用建造模式====1. 对象内部结构复杂,如一部分可能是对象,甚至对象的一部分====2. 对象内部属性相互依赖,如 属性一 和属性二 不能同时有值 等等...====3. 对象内部使用到的属性,在系统中并不容易得到=====原创 2016-08-30 14:57:29 · 309 阅读 · 0 评论 -
java设计模式之原型模式
==============和上几篇一样,原型模式也是java设计语言中 关于 对象创建的模式之一==================原型模式,即通过实现一个"克隆"接口,不需要进行new操作直接获取这个对象的一个全新实例========1. 简单形式的原型模式========2. 登记形式的原型模式其中登记形式 就是简单形式多了一个对象管理器.存放通过克隆产生的对象. 方便客原创 2016-08-30 17:33:22 · 211 阅读 · 0 评论 -
java设计模式之适配器模式
==========有的时候客户端需要一个一种接口,而我们已有的接口中 没有这种接口======这个时候就需要们的 适配器模式 了类适配器模式利用继承的方式,对象适配器模式把目标对象注入到类中缺省适配器模式对于接口的实现,可以先利用空实现.然后再使用继承的方式.进行适配.原创 2016-08-30 18:20:52 · 314 阅读 · 0 评论 -
java设计模式之合成模式
==============合成模式,一种把对象组装成树结构的模式.为的是突显单独元素在整体中的位置,并且整体中的任何部分,客户端都可以平等调用(同目录和文件的区别)==================安全模式,旨在不让用户调用叶子节点的管理子节点功能(因为叶子节点并没有子节点)===============透明模式,旨在方便用户使用,用户并不在意手里的节点是否是叶子节点,直接使用即可==原创 2016-08-31 10:34:41 · 559 阅读 · 0 评论