设计模式
文章平均质量分 84
mapc我
我的个人站点:
展开
-
java设计模式学习(一)-工厂方法模式1
(一)工厂方法模式工厂方法模式去掉了简单工厂模式中工厂方法的静态属性,使得它可以被子类继承。这样在简单工厂模式里集中在工厂方法上的压力可以由工厂方法模式里不同的工厂子类来分担。你应该大致猜出了工厂方法模式的结构,来看下它的组成:1) 抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。在java 中它由抽象类或者原创 2015-05-25 23:12:18 · 527 阅读 · 0 评论 -
23种设计模式(2)-简单工厂模式
这些设计模式都是在这么多年的软件开发中,先辈对软件重构的经验总结提炼的结果,这些设计模式要遵循软件设计的六原则。每一种设计模式都有相应的需求场景的。有了这些设计模式的思想和面向对象的思想,在软件设计特定的需求中会给你解决思路。一,需求场景 在此,我也借用书上看到的一个例子。计算器工厂给我们留了一些任务,设计一个计算器做成成品卖给买家。但是这个任务是分两个阶段让我们实现的。如下:原创 2016-05-18 16:32:34 · 5688 阅读 · 0 评论 -
23种设计模式(1)-Facade设计模式
前记 曾经我遇见的一个需求是这样的,接口A有个方法void methodA(),类B需要实现接口A的methodA()方法,并且在类B中需要把methodA()方法内部处理逻辑获得的结果利用C类实例的某个方法进行持久化操作。由于技术功力尚浅,开始我左思右想就是不能实现这个需求。开始纠结于两个难题:1,methodA()方法返回值为void,我无法获得methodA()内部逻辑获得的数原创 2016-05-16 14:47:00 · 18319 阅读 · 3 评论 -
责任链设计模式(过滤器)
责任链设计模式(过滤器、拦截器)责任链设计模式(Chain of Responsibility)的应用有:Java Web中的过滤器链、Struts2中的拦截器栈。先看一个问题:给定一个字符串“被就业了:),敏感信息,”,对其中的HTML标记和敏感词进行过滤或替换。本文主要以该问题设计方法的演变来讲解责任链设计模式。第一种设计:没有任何设计模式转载 2016-03-25 09:45:44 · 1993 阅读 · 0 评论 -
观察者模式(浅谈监听器工作原理)
转载于:http://wuhailei1989-sina-com.iteye.com/blog/935387观察者模式(浅谈监听器工作原理)工作设计模式Java生活活动 从某种角度来说,我们总是处于两种生活状态:观察者与被观察者。当处于观察者状态时,被观察的对象会向我们发出某种信息,使我们产生某种心理活动或行为状态的改变。当我们处于被观察者状态时,我转载 2016-03-24 12:47:18 · 4902 阅读 · 2 评论 -
java23种设计模式总结
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真转载 2016-04-05 14:45:23 · 1911 阅读 · 0 评论 -
java适配器模式(二)
《JAVA与模式》之适配器模式在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的用途 用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没转载 2016-04-05 14:38:46 · 320 阅读 · 0 评论 -
java适配器模式
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 下面是两个非常形象的例子 3. 模式中的角色 3.1 目标接口转载 2016-04-05 14:33:00 · 369 阅读 · 0 评论 -
模板方法模式
转载于:http://blog.csdn.net/lovelion/article/details/8299794=================================================================1. 模板方法模式概述 在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单等几个步转载 2016-04-03 22:16:45 · 359 阅读 · 0 评论 -
模板方法模式
设计模式学习笔记-模板方法模式1. 概述 定义一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。2. 模式中的角色 2.1 抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。 2.2 具体类(ConcreteClass):实现抽象类中的抽象方法,已完成完整的算法。3转载 2016-04-03 22:06:37 · 334 阅读 · 0 评论 -
动态代理
**一,基于JDK的动态代理**接口:public interface IHello { void hello();}类:public class Hello implements IHello { @Override public void hello() { System.out.println("我是Hello"); }}处理类:impor原创 2016-03-15 23:21:17 · 378 阅读 · 0 评论 -
动态代理模式原理-资源
尚学堂马士兵关于动态代理模式原理的讲解讲解的很透彻,可以学学原创 2015-09-05 16:30:09 · 391 阅读 · 0 评论 -
代理模式之cglib动态代理
cglib动态代理一、原理 代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。JDK的动态代理用起来简单,但它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么办?现在我们可以使用CGLIB包。二、什么是转载 2015-09-05 09:04:04 · 364 阅读 · 0 评论 -
设计模式之一----依赖注入
1,为什么会有依赖注入的设计模式?public class PersistenceManager{public void store(Object object){DataSource dataSource=...;Connection connection=dataSource.getConnection();......//把对象存储到数据库}}通常在javae原创 2015-07-20 18:11:19 · 1743 阅读 · 0 评论 -
java设计模式学习(一)-工厂方法模式2
工厂方法模式(Factory Method):定义一个用于创建对象的接口IFactory,在具体的ConcreteFactory子类中根据传进的参数即具体子类ConcreteProduct决定实例化哪一个IProduct产品,该模式使得一个类(即IProduct)的实例化延迟到其子类(即ConcreteProduct)。通用类图如下:代码实现如下: // 产品接口,定转载 2015-05-25 23:19:24 · 363 阅读 · 0 评论 -
java设计模式学习(一)-工厂方法模式3(最通俗易懂)
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况,新对象的建立就是一个 “过程”,不仅是一个操作,像转载 2015-05-25 23:43:28 · 440 阅读 · 0 评论 -
书籍
大话设计模式,GOF设计模式原创 2015-05-26 00:19:43 · 384 阅读 · 0 评论 -
23种设计模式(3)-工厂方法模式
一,设计原则解释 本节要学的工厂方法模式涉及两个设计原则:开-闭原则和依赖倒转原则。我感觉还是先把设计原则简单理解一下比较好,这样才能对设计模式的学习理解更深刻。1,开-闭原则 开-闭原则:一个软件实体应当对扩展开放,对修改关闭。 应该如何理解这句话呢? 这句话意思是,当设计一个模块的时候,应该考虑到在以后我们能够不修改模块已有源码的情况下扩展该模原创 2016-05-20 22:35:26 · 3806 阅读 · 0 评论