玩过扮白脸、扮黑脸的游戏吗?你是一个白脸,提供很好且很友善的服务,但是你不希望每个人都叫你做事,所以找了黑脸控制对你的访问。这就是代理要做的:控制和管理访问。就像你将看到的,代理的方式有许多种。代理以....

基本常识:策略模式和状态模式是双胞胎,在出生时才分开。你已经知道了,策略模式是围绕可以互换的算法来创建成功业务的。然而,状态走的是更崇高的路,它通过改变对象内部的状态来帮助对象控制自己的行为。 1.状....

有许多方法可以把对象堆起来成为一个集合(collection)。你可以把它们放进数组、堆栈、列表或者是散列表(HashMap)中,这是你的自由。每一种都有它自己的优点和适合的使用时机,但总有一个时候,....

直到目前,我们的议题都绕着封装转;我们已经封装了对象创建、方法调用、复杂接口、鸭子、披萨……接下来呢?我们将要深入封装算法块,好让子类可以在任何时候都可以将自己挂接进运算里。我们甚至会在本文学到一个受....

在本文,我们将要进行一项任务,其不可能的程度,简直就像是将一个方块放进一个圆洞中。听起来不可能?有了设计模式,就有可能。还记得装饰者模式吗?我们将对象包装其阿里,赋予它们新的职责。而现在则是以不同目的....

在本文,我们将把封装带到一个全新的境界:把方法调用(method invocation)封装起来。没错,通过封装方法调用,我们可以把运算块包装成形。所以调用此运算的对象不需要关心事情是如何进行的,只要....

单例模式(Singleton Pattern):用来创建独一无二的,只能有一个实例的对象的入场券。告诉你一个好消息,单例模式的类图可以说是所有模式的类图中最简单的,事实上,它的类图只有一个类!但是,可....

准备好开始烘烤某些松耦合的OO设计。除了使用new操作符之外,还有更多制造对象的方法。你将了解到实例化这个活动不应该总是公开的进行,也会认识到初始化经常造成“耦合”问题。你不希望这样,对吧?读下去,你....

本文可以称为“给爱用继承的人一个全新的设计眼界”。我们即将再度探讨典型的继承滥用问题。你将在本文学到如何使用对象组合的方式,做到在运行时装饰类。为什么呢?一旦你熟悉了装饰的技巧,你将能够在不修改任何底....

让你的对象知悉现况 Joe:喂,Jerry,我正在通知大家,模式小组会议改到周六晚上,这次要讨论的是观察者模式,这个模式最棒了!超级棒!你一定要来呀,Jerry。 有趣的事情发生时,可千万别错过了!有....

Top