→阿童沐

財富==支撐一個人生存多長時間的能力!

导航

文章分类 -  编程思想

<Java 设计模式 > 装饰模式(Decorator)-
摘要:装饰模式: 九十三-20:00 装饰模式又名包装(Wrapper)模式; ☆ 装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案(继承是扩展类的功能); ☆装饰模式以对客户端透明的方式动态的给一个对象附加上更多的职责(而继承是静态的方式)。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同; 装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展。 装饰模式把客户端的调用委派到被装饰类。装饰模式的关键在于这种扩展是完全透明的。 装饰模式是在不必改变原来类定义和使用继承的情况下(通过多态方式),动态的扩展一个对象的功能。它是通过创建一个包装对象... 阅读全文

posted @ 2012-05-24 16:00 阿童沐

<Java设计模式> 代理模式-
摘要:代理模式的作用: 为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 中介不仅可以帮助客户端完成客户想要完成的事情,还可以完成中介自己想要做的事情。代理模式中涉及到的角色: 六十五-18:00 1、抽象角色:声明真实对象和代理对象的共同接口;(例如:中介和房主两者均可以完成租房子这件事情,因此两者含有共同的接口,接口中含有租房子这个方法) 2、代理角色:代理角色对象内部含有对真是对象的引用,从而可以操作真实对象(聚合包容关系),同时代理对象提供与真是对象相同的接口以便在任何时候都... 阅读全文

posted @ 2012-05-03 19:42 阿童沐

<Java设计模式>:单例模式=
摘要:设计模式为我们的问题提供了一种更好的解决问题的方法。任何面向对象的语言都可以实现设计模式,这是通用的。设计模式大量的依靠多态实现。经典的设计模式有23个。单例模式(singleton):表示一个类只会生成唯一的一个对象。第一种实现方式(推荐,适应多线程环境):package cn.edu.bupt.designpattern;public class SingletonTest { public static void main(String[] args) { Singleton st1 = Singleton.getInstance(); Singleto... 阅读全文

posted @ 2012-02-18 13:26 阿童沐

<Java设计模式>代理模式-
摘要:代理模式的作用: 为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 中介不仅可以帮助客户端完成客户想要完成的事情,还可以完成中介自己想要做的事情。代理模式中涉及到的角色: 六十五-18:00 1、抽象角色:声明真实对象和代理对象的共同接口;(例如:中介和房主两者均可以完成租房子这件事情,因此两者含有共同的接口,接口中含有租房子这个方法) 2、代理角色:代理角色对象内部含有对真是对象的引用,从而可以操作真实对象(聚合包容关系),同时代理对象提供与真是对象相同的接口以便在任何时候... 阅读全文

posted @ 2012-02-14 15:50 阿童沐

<Java设计模式> 策略模式-
摘要:1.策略模式概念策略模式(Strategy Pattern)体现了两个非常基本的面向对象设计原则。 1>封装变化概念; 2>编程中使用接口,而不是对接口的实现,即面向接口编程。2.定义: 1> 定义一组算法,将每个算法都封装起来,并且使他们之间可以作为组建互相替换; 2> 策略模式使这些算法在客户端调用它们的时候能够互不影响的变化。3.意义: 1> 策略模式使开发人员能够开发出由许多可替换的部分组成的软件,并且各部分之间是 松耦合的关系; 2> 若连接的特性是软件具有更强的可扩展性,易于维护;更重要的是,他大大提高了软件 的可重用性。4.策略模式的组成: 1 阅读全文

posted @ 2012-01-30 19:41 阿童沐

如何防止代码腐烂-
摘要:原文链接很多团队都有这个问题,一个项目的代码本来开始设计得好好的,一段时间以后,代码就会变得难以理解,难以维护,难以修改。为什么?我一直在思考这个问题。让我们先看一个人的情况。1.程序员的成长 新手的代码 新手的代码没有经验,基本不考虑代码设计,代码规模稍稍大一点则自己就乱了。进阶者的代码小规模的时候大规模的时候 进阶者已经知道如何设计代码,懂得代码规则,但一般局限于一个模块。规模一大,模块间的调用就会比较混乱,难以维护。 有经验者的代码有经验者的代码,模块内部代码整洁,模块之间层次清晰,有设计模式,有成熟的体系。可以保持长期的代码整洁。 那么一个团队里面会出现什么情况呢?似乎,我们... 阅读全文

posted @ 2011-12-24 18:10 阿童沐 阅读(126) 评论(0) 推荐(0)