![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2011-3
文章平均质量分 68
angel666mzz88
我行我素
展开
-
适配器模式(变压器):Adapter
<br />定义:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。<br />解决问题:为两个不相关的对象组合到一起使用。<br /> <br />举例:1,美国的电器拿到中国来用,中国生活用电的电压是220V,而美国电器支持的是150V, 所以我们用美国电器需要用个变压器把220V改成150V。这个变压器就是一个适配器模式。<br />2,充电器,因为我们家庭用电是220v,而手机的电板是4v,所以我们用家庭电器需要用表原创 2011-03-27 18:14:00 · 438 阅读 · 0 评论 -
命令模式(Command)
<br />定义:将来自客户端的请求传入一个对象,无需了解这个请求激活的 动作或有关接受这个请求的处理细节。<br />一句话概括:多钟不同的数据封装成一个对象操作不同的行为.<br />解决问题:只关心行为,不关心具体执行类或者实现(解决了发送者与接受者之间的耦合。因为发送者不需要知道接受者的任何接口).<br /> <br />好处:隐藏了方法的具体实现,使代码更加安全。<br /> <br />例子:1,比如说文本编辑器,有复制,粘贴,撤销等...将一系列的操作给封装起来。<br />原创 2011-03-28 11:01:00 · 470 阅读 · 0 评论 -
门面模式(外观模式):Facade
<br />门面模式定义:<br />门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面对象进行.<br />门面模式提供一个高层次的接口,使得子系统更易于使用.<br />门面模式有俩个作用:1是简化类的接口;2是消除类与使用它的客户代码之间的耦合。<br />好处:减少项目的复杂度和依赖性。<br /> <br />项目举例:jdbc执行sql语句,非常的烦躁。 可以把它抽取到一个方法里,用时就调用。<br />解决问题:子接口繁多,调用复杂,减少客户与子系统之间的耦合。<br /> <b原创 2011-03-27 12:19:00 · 459 阅读 · 0 评论 -
JDK运用到的设计模式
<br />下面是JDK中有关23个经典设计模式的示例,在stakeoverflow也有相应的讨论:<br />http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns<br /><br /><br />Structural(结构模式)<br />Adapter:<br />把一个接口或是类变成另外一种。<br /><br /> java.util.Arrays#asLi原创 2011-03-26 17:40:00 · 276 阅读 · 0 评论 -
工厂模式(Factory)
<br />工厂模式的思想主要为:多个类似的子类继承同一个父类,<br /> 对其父类中的变量进行操作;工厂类负责判断、控制哪个子类被执行,<br /> 而工厂类调用子类完成后,返回的结果是该子类的父类,该父类中的变量已经被操作过了,<br /> 访问该父类,得到我们想要的结果。<br />定义:一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method 使一个类的实例化延迟到其子类<br />生活中的例子:(只关心结果不关心过程,过程是屏蔽掉的)比如:去原创 2011-03-26 12:29:00 · 304 阅读 · 0 评论 -
单例模式(Singleton)
<br />简单的说下吧!!<br />单例模式定义:在Java应用程序中,随着应用程序的运行创建出很多对象,但有时候我们不希望在创建某类对象时,无论创建多少此该类对象只有一份在内存中,这就是单类。要实现单类模式首先要保证构造函数私有化。<br />单例模式特点:1,单类只有一个实例<br /> 2,单例必须自己创建自己唯一的实例<br /> 3,单例类必须给所有其他对象提供这一实例<br />单例在Java语言中有原创 2011-03-26 11:52:00 · 249 阅读 · 0 评论 -
代理(Proxy)
<br />定义:为其他对象提供一种代理以控制对这个对象的访问。说白了就是,在一些情况下客户不想或者不能直接引用一个对象,而代理对象可以在客户和目标对象之间起到中介作用,去掉客户不能看到的内容和服务或者增添客户需要的额外服务。<br /> <br />适用环境:<br />在需要用比较通用和复杂的对象指针代替简单的指针的时候,使用Proxy模式。下面是一些可以使用Proxy模式常见情况:<br />1 远程代理(Remote Proxy )为一个对象在不同的地址空间提供局部代表。<br />1原创 2011-03-28 12:17:00 · 1021 阅读 · 0 评论 -
策略模式:Strategy
<br />定义:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。<br />解决问题:某个具体的解决方法有很多种可选择的实现。<br /> <br />生活例子:我想去学校,我可以坐车去,也可以走路去,也可以步行,这样都能让我去学校。<br />项目中的例子:dao可以用Ibatis来实现,也可以用Hibernate来实现。<br /> <br />常用地方:以不同的格式保存文件,以不同的算法压缩文件;以不同的格式输出同样数据的图形,比如曲线 或框原创 2011-03-27 18:23:00 · 230 阅读 · 0 评论 -
责任链模式
<br />有叫职则链模式。<br />定义:为了避免请求的发送者和接收者之间的耦合关系,使多个接受对象都有机会处理请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。<br />解决问题<br />1 有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定。<br />2 你想在不明确指定接受者的情况下,向多个对象中的一个提交一个请求。<br />3 可处理一个请求的对象集合应该被动态指定。<br />理解解决问题:有多个对象可以处理一个请求。<br />参与者:原创 2011-04-08 10:02:00 · 284 阅读 · 0 评论