随笔 - 2228  文章 - 4  评论 - 371  阅读 - 1109万
05 2012 档案
Java之命令模式(Command Pattern)
摘要:先从起源说起。在设计界面时,大家可以注意到这样的一种情况,同样的菜单控件,在不同的应用环境中的功能是完全不同的;而菜单选项的某个功能可能和鼠标右键的某个功能完全一致。按照最差、最原始的设计,这些不同功能的菜单、或者右键弹出菜单是要分开来实现的,你可以想象一下,word文档上面的一排菜单要实现出多少个“形似神非”的菜单类来?这完全是行不通的。这时,就要运用分离变化与不变的因素,将菜单触发的功能分离出来,而制作菜单的时候只是提供一个统一的触发接口。这样修改设计后,功能点可以被不同的菜单或者右键重用;而且菜单控件也可以去除变化因素,很大的提高了重用;而且分离了显示逻辑和业务逻辑的耦合。这便是命令模式 阅读全文
posted @ 2012-05-30 21:39 duanxz 阅读(947) 评论(0) 推荐(0) 编辑
单例模式
摘要:单例模式的破坏示例 类图: 单例模式的优点 ● 由于单例模式在内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁地创建、销毁时,而且创建或销毁时性能又无法优化,单例模式的优势就非常明显。● 由于单例模式只生成一个实例,所以减少了系统的性能开销,当一个对象的产生需要比较多的资源时,如读取配置、 阅读全文
posted @ 2012-05-29 21:48 duanxz 阅读(687) 评论(0) 推荐(0) 编辑
三种工厂模式(简单工厂、工厂方法、抽象工厂)简单理解
摘要:一、简单工厂模式例如:一个动物基类(抽象基类):描述什么是动物N个动物类(继承抽象类):具体是什么动物,狗猫兔一个工厂(根据不同条件生成创建不同动物): new cat ->猫new dog ->狗每次要添加一种动物类,工厂就要多加一个type。导致这个工厂类会变得非常繁重,甚至加入的这个type也 阅读全文
posted @ 2012-05-29 13:47 duanxz 阅读(383) 评论(0) 推荐(0) 编辑
工厂模式
摘要:工厂模式:建立创建对象的工厂 在面向对象编程中,术语“工厂”表示一个负责创建其他类型对象的类。通常情况下,作为一个工厂的类有一个对象以及与它关联的多个方法。客户端使用某些参数调用此方法之后,工厂会据此创建所需类型的对象,然后将它们返回给客户端。工厂具有下列优点:松耦合,即对象的创建可以独立于类的实现 阅读全文
posted @ 2012-05-28 22:37 duanxz 阅读(523) 评论(0) 推荐(0) 编辑
享元模式 Flyweight Pattern
摘要:一、什么是享元模式Flyweight模式也叫享元模式,原意是“轻量级”模式,它用来解决大量相同对象被多次实例化,从而导致内存被大量占用的情况。享元模式尽可能多地节省对象的生成次数,让多个对象共用一个缓存中的对象。是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用。常见应用:1、JDK中的享元模式:Java中的String类型 在JAVA语言中,String类型就是使用了享元模式。String对象是final类型,对象一旦创建就不可改变。在JAVA中字符串常量都是存在常量池中的,JAVA会确保一个字符串常量在常量池中只有一个拷贝。String a="abc",其中& 阅读全文
posted @ 2012-05-28 17:00 duanxz 阅读(643) 评论(0) 推荐(0) 编辑
行为类模式--策略模式
摘要:一、定义、类型及类图 定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。(策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户——出自《大话设计模式》) 类型:行为类模式 类图 策略模式是对算法的封装,把一系列的算法分别封装到对应 阅读全文
posted @ 2012-05-28 09:53 duanxz 阅读(754) 评论(0) 推荐(0) 编辑
装饰模式(Decorator Pattern)--结构型
摘要:1 概述 1.1 引言 装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。比如,一张照片,不改变照片本身,增加一个相框。 装饰模式是一种用于替代继承的技术,无须定义子类即可给对象动态增加职责,使用对象之间的关联关系来代替继承关系,在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰 阅读全文
posted @ 2012-05-25 17:27 duanxz 阅读(385) 评论(0) 推荐(0) 编辑
责任链模式(Chain of Responsibility)
摘要:一、引言 初看责任链模式,心里不禁想起了一个以前听过的相声:看牙。有壹个牙科医生,第壹次给病人拔牙,非常紧张。他刚把臼齿拔下来,不料手壹抖,没有夹住,于是,牙齿掉进了病人的喉咙。“非常抱歉,”医生说,“你的病已不在我的职责范围之内,你应该去找喉科医生。”当这个病人找到喉科医生时,他的牙齿掉得更深了。喉科医生给病人做了检查。“非常抱歉,”医生说,“你的病已不在我的职责范围之内了,你应该去找胃病专家。”胃病专家用调光为病人检查后说:“非常抱歉,牙齿已掉到你的肠子里了,你应该去找肠病专家。”肠病专家同样做了调光检查后说:“非常抱歉,牙齿不在肠子里,它肯定掉到更深的地方了,你应该去找肛门科专家。”最后 阅读全文
posted @ 2012-05-25 11:15 duanxz 阅读(351) 评论(0) 推荐(1) 编辑
代理模式--结构型
摘要:《代理模式--结构型 》 《JDK的动态代理深入解析(Proxy,InvocationHandler)(转)》 《Spring AOP 实现原理》 代理模式是常用的Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消 阅读全文
posted @ 2012-05-25 09:24 duanxz 阅读(691) 评论(1) 推荐(1) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示