- 浏览: 202333 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
yixinhu:
你好 能加下你的QQ么 我怎么打出来的exe点击都没反应啊.. ...
java 生成exe 文件 -
chenxiang105:
如果不需要flash 只需要做图片的翻页效果 这个是否也合适类 ...
jQuery插件page peel AD实现动态卷页、翻页或卷角flash广告效果 -
tuoxie007:
幸苦,好文章!
jetspeed门户项目组介绍 -
bobo:
需要考虑不同浏览器的兼容性
通过网页访问本地资源程序 -
tag13346:
说得这么玄,看下
时空趋势理论 --- 超越时空的均线技术(转载 )
提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
1。当需要使用一个现有的类而其接口并不符合你的需求时,就使用适配器。
2。当需要简化并统一一个个很大的接口或者一群复杂的接口时,就使用外观。
3。适配器改变接口以符合客户的期望。
4。外观将客户从一个复杂的子系统中解耦。
5。实现一个适配器可能需要一番功夫,也可能不费功夫,视目标接口的大小与复杂度而定。
6。实现一个外观,需要将子系统组合进外观众,然后将工作委托给子系统执行。
7。适配器模式有两种形式:对象适配器和类适配器。类适配器需要用到多重继承。
8。你可以为一个子系统实现一个以上的外观。
9。适配器将一个对象包装起来以改变其接口:装饰者将一个对象包装起来以增加新的行为和责任,而外观将一群对象包装起来以便简化其接口。
1。当需要使用一个现有的类而其接口并不符合你的需求时,就使用适配器。
2。当需要简化并统一一个个很大的接口或者一群复杂的接口时,就使用外观。
3。适配器改变接口以符合客户的期望。
4。外观将客户从一个复杂的子系统中解耦。
5。实现一个适配器可能需要一番功夫,也可能不费功夫,视目标接口的大小与复杂度而定。
6。实现一个外观,需要将子系统组合进外观众,然后将工作委托给子系统执行。
7。适配器模式有两种形式:对象适配器和类适配器。类适配器需要用到多重继承。
8。你可以为一个子系统实现一个以上的外观。
9。适配器将一个对象包装起来以改变其接口:装饰者将一个对象包装起来以增加新的行为和责任,而外观将一群对象包装起来以便简化其接口。
package pattern; public class HomeTheaterFacade { Amplifler amp = new Amplifler(); Tuner tuner = new Tuner(); DvdPlayer dvd = new DvdPlayer(); CdPlayer cdPlayer = new CdPlayer(); Projector projector = new Projector(); TheaterLights lights = new TheaterLights(); PopcomPopper popper = new PopcomPopper(); Screen screen = new Screen(); public HomeTheaterFacade(Amplifler amp, Tuner tuner, DvdPlayer dvd, CdPlayer cdPlayer, Projector projector, TheaterLights lights, PopcomPopper popper, Screen screen) { amp = amp; tuner = tuner; dvd = dvd; cdPlayer = cdPlayer; projector = projector; lights = lights; popper = popper; screen = screen; } public void WatchMovie(String movie) { System.out.println("Get ready to watch a movie ...."); popper.on(); popper.pop(); lights.dim(10); screen.down(); projector.on(); projector.wideScreenMode(); amp.on(); amp.setDvd(dvd); amp.setSurroundSoud(); amp.setVolume(5); dvd.on(); dvd.play(movie); } public void EndMovie(String movie) { System.out.println("Shutting movie theater down ...."); popper.off(); lights.on(); screen.up(); projector.off(); amp.off(); dvd.stop(); dvd.eject(); } } class Amplifler { Tuner tuner; DvdPlayer dvdPlayer; CdPlayer cdPlayer; public void on() { System.out.println(" Amplifler on"); } public void off() { System.out.println(" Amplifler off"); } public void setCd(CdPlayer cdPlayer) { cdPlayer = cdPlayer; } public void setDvd(DvdPlayer dvdPlayer) { dvdPlayer = dvdPlayer; } public void setSurroundSoud() { System.out.println("Amplifler setSurroundSoud"); } public void setTuner(Tuner tuner) { tuner = tuner; } public void setVolume(int vol) { System.out.println("Amplifler setVolume " + vol); } public String toString() { return "Amplifler"; } } class Tuner { public void on() { System.out.println(" Tuner on"); } public void off() { System.out.println(" Tuner off"); } public void setAm() { System.out.println("Tuner setAm"); } public void setFm() { System.out.println("Tuner setFm"); } public void setFrequency() { System.out.println("Tuner setFrequency"); } public String toString() { return "Tuner"; } } class DvdPlayer { public void on() { System.out.println(" DvdPlayer on"); } public void off() { System.out.println(" DvdPlayer off"); } public void eject() { System.out.println(" DvdPlayer eject"); } public void pause() { System.out.println(" DvdPlayer pause"); } public void play(String movie) { System.out.println(" DvdPlayer play " + movie); } public void setSurroundAudio() { System.out.println(" DvdPlayer setSurroundAudio"); } public void setTwoChannelAudio() { System.out.println(" DvdPlayer setTwoChannelAudio"); } public void stop() { System.out.println(" DvdPlayer stop"); } } class Screen { public void up() { System.out.println(" Screen up"); } public void down() { System.out.println(" Screen down"); } public String toString() { return "screen"; } } class CdPlayer { public void on() { System.out.println(" CdPlayer on"); } public void off() { System.out.println(" CdPlayer off"); } public void eject() { System.out.println(" CdPlayer eject"); } public void pause() { System.out.println(" CdPlayer pause"); } public void play() { System.out.println(" CdPlayer play"); } public void stop() { System.out.println(" CdPlayer stop"); } public String toString() { return "CdPlayer"; } } class Projector { DvdPlayer dvdPlayer; public void on() { System.out.println(" Projector on"); } public void off() { System.out.println(" Projector off"); } public void tvMode() { System.out.println(" Projector tvMode"); } public void wideScreenMode() { System.out.println(" Projector wideScreenMode"); } public String toString() { return "Projector"; } } class PopcomPopper { public void on() { System.out.println(" PopcomPopper on"); } public void off() { System.out.println(" PopcomPopper off"); } public void pop() { System.out.println(" PopcomPopper pop"); } public String toString() { return "PopcomPopper"; } } class TheaterLights { public void on() { System.out.println(" TheaterLights on"); } public void off() { System.out.println(" TheaterLights off"); } public void dim(int dim) { System.out.println(" TheaterLights dim " + dim); } public String toString() { return "TheaterLights"; } } package pattern; public class HomeTheaterTestDrive { /** * @param args */ public static void main(String[] args) { Amplifler amp = new Amplifler(); Tuner tuner = new Tuner(); DvdPlayer dvd = new DvdPlayer(); CdPlayer cdPlayer = new CdPlayer(); Projector projector = new Projector(); TheaterLights lights = new TheaterLights(); PopcomPopper popper = new PopcomPopper(); Screen screen = new Screen(); HomeTheaterFacade homeTheater = new HomeTheaterFacade(amp, tuner, dvd, cdPlayer, projector, lights, popper, screen); homeTheater.WatchMovie("TMD"); homeTheater.EndMovie("TMD"); } }
发表评论
-
Iterator patten 读书笔记
2008-04-10 18:07 1060提供 一种方法 顺序访问 一个聚和 对象中的各个元素,而又不暴 ... -
模版模式 读书笔记
2008-04-10 18:04 1764在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模版 ... -
Adapter patten 读书笔记
2008-04-10 18:01 967将一个类的接口,转换成客户期待的另一个接口。适配器让原本接口不 ... -
command patten 读书笔记
2008-04-10 17:56 9101 。命令模式将发出请求的对象和执行请求的对象解耦。 2。在被 ... -
单例模式 读书笔记
2008-04-07 18:44 911确保一个类只有一个实 ... -
抽象工厂模式读书笔记
2008-04-07 18:39 989提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具 ... -
工厂方法 读书笔记
2008-04-03 14:27 1138工厂发法定义了一个创建对象的接口或者抽象类,但是有子类来决定要 ... -
装饰者模式 读书笔记
2008-04-03 14:25 2141package pattern; public clas ... -
观察者模式(读书笔记)
2008-04-01 18:33 1132观察者模式定义了对象之间的一对多依赖,这样一来当一个对象改变状 ... -
Head First Design Patterns 读后感3-策略模式
2008-04-01 18:32 1335策略模式-定义了算法族,分别封装起来,让他们之间可以相互替换, ... -
Head First Design Patterns 读后感2 设计原则
2008-03-31 13:47 11601。软件开发中唯一一个不变的是 变化。大千世界,千奇百怪,行行 ... -
Head First Design Patterns 读后感1
2008-03-31 13:46 1420如何让大脑把记得更深刻 1。慢点,你理解的越多,记得月少 2。 ... -
proxy state 读书笔记
2008-03-28 18:35 1702定义:为另一个对象提供一个替身或者战位符以范围这个对象。 要点 ... -
阅读不懂,图书之过——《大话设计模式》创作历程 (转载)
2008-03-28 11:41 1133写这本书的确是个意外,因为在之前,我和所有的做技术的朋友一样, ... -
state patten 读书笔记
2008-03-25 14:53 1217允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的 ... -
组合模式 读书笔记
2008-03-24 15:12 1319允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能 ...
相关推荐
良葛格的《Design Pattern学习笔记》不仅涵盖了经典的GOF设计模式,还额外介绍了几种多线程模式,这使得这份学习笔记成为了一个宝贵的学习资源。下面将对其中的部分设计模式进行详细介绍。 #### 二、GOF设计模式 ...
Android源码设计模式解析与实战读书笔记源代码 说明: 包名factorypattern.normal表示的是工厂方法模式的普通用法 包名factorypattern.practices表示的是工厂方法模式的常用 包名observerpattern表示的是观察者模式...
23. **门面模式(Facade)**:为子系统提供一个一致的界面,它定义了一个高层接口,使得子系统更加容易使用。 通过学习Gof设计模式,开发者可以更好地理解和设计复杂的软件系统,提高代码的可读性、可维护性和复用...
6. 外观模式(Facade Pattern):为子系统中的一组接口提供一个统一的界面。 7. 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度的对象。 行为型模式: 行为型模式关注的是对象之间的通信,用来...
### Java设计模式学习笔记——外观模式(Facade Pattern) #### 概述 设计模式是软件工程领域中一种解决常见问题的可复用解决方案。在Java开发过程中,掌握设计模式能够帮助开发者更好地组织代码结构,提高代码的...
- 外观模式(Facade):为子系统提供一个统一的接口,使得子系统的复杂性对客户透明。 - 适配器模式(Adapter):使两个不兼容的接口能够协同工作。 - 桥接模式(Bridge):将抽象部分与实现部分分离,使它们可以...
谷歌师兄的leetcode刷题笔记 请叫我大师兄 Java Note Project 项目结构目录 bean 统一存放一些测试使用的model的bean,enum... 设计模式 简要说明 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码...
### 设计模式笔记总结 本篇文章是对一份设计模式学习资料的深入解读,这份资料包含了19种经典的设计模式,并提供了C#示例代码,适用于学习和复习。下面将逐一介绍这些设计模式及其核心概念。 #### 1. 简单工厂模式...
4. **门面模式(Facade Pattern):** 门面模式是一种结构型设计模式,它提供了一个统一的接口,用来访问子系统的一组接口。在示例中,`LightFacade`类就是门面,它隐藏了`LivingRoomLight`、`HallLight`和`...
设计模式是软件工程中的一种最佳实践,它是在特定情境下解决常见问题的经验总结。...在DesignPattern-master这个压缩包中,你可以找到关于这些模式的详细讲解和实例代码,为你的Java开发之旅提供宝贵的参考资料。
### 23种设计模式学习笔记 #### 一、软件设计模式的概念与意义 **概念:** 软件设计模式(Software Design Pattern),又称设计模式,是一套被广泛采用、经过整理和分类的代码设计经验总结。它针对软件设计过程中...
外观模式(Facade Pattern)是一种设计模式,主要用于简化子系统或组件的使用,提供一个统一的接口,使得客户端不必关心复杂的内部实现,降低了系统的耦合度。在Java设计模式中,外观模式扮演着重要角色,它使得系统...