- 博客(0)
- 资源 (8)
- 收藏
- 关注
抽象工厂(abstract factory)
生产餐具和相应食物的工厂,有两个车间,其中一个车间用以生产餐具,一个车间用以生产相应的食物。
每个具体工厂生产出来的具体产品根据不同工厂的不同各不相同,但是客户使用产品的方法是一致的。比如客户在得到餐具和食物之后,两者的搭配是正确的(使用汤匙喝牛奶,使用刀子切面包)。
在本例子中有3个具体工厂AKetchen, BKetchen, BKetchen,分别生产牛奶和汤匙、面包和刀、肉和叉子。牛奶、面包和肉都实现了食物接口。汤匙、刀和叉子都实现了餐具接口。
2012-06-05
策略模式(Strategy)
一个把数组导出为表格的算法,输入一个数组,导出一个表格,当用户想改变导出的表格时,便可以通过改变输出的算法改变输出的结果。如果输出的内容用以网页显示,则输出
<table><tr><td>Jack</td></tr><tr><td>Maya</td></tr><tr><td>Mikes</td></tr><tr><td>Shadow</td></tr></table>
如果输出的结果用以直接的屏幕输出,则可以输出:
+----+----+-----+------+
|Jack|Maya|Mikes|Shadow|
+----+----+-----+------+
2012-06-05
单例模式(singleton)
一个产生随机数的例子,整个应用程序中只需要一个类的实例来产生随机数,客户端程序从类中获取这个实例,调用这个实例的方法nextInt(),公用的方法访问需要进行同步,这是单例模式需要解决的同步问题。
2012-06-05
facade模式
外观模式属于结构型模式,其意图是为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。在项目设计中,把一个系统划分成为若干个子系统由利于降低系统的复杂性,一个常见的设计目标是使子系统间的通信和相互依赖关系达到最小,达到该目标的途径之一就是引入一个外观对象,它为子系统中较一般的设施提供了一个单一而简单的界面。
2012-06-04
二叉树建立还有后序计算表达式
1、设计一个程序,根据二叉树的先根序列和中根序列创建一棵用左右指针表示的二叉树
例如:先根序列为 ABDGCEF#, 中根序列为 DGBAECF# (#表示结束)。然后用程序构造一棵二叉树。注意程序的通用性(也就是说上述只是一个例子,你的程序要接受两个序列(先根和中根序列),然后构造相应的二叉树)。
2. 设计一个程序,把中缀表达式转换成一棵二叉树,然后通过后序遍历计算表达式的值
例如:中缀表达式为(a+b)*(c+d)# (#表示结束),将之转换成一棵二叉树,然后通过后序遍历计算表达式的值,其中abcd都是确定的值。注意程序的通用性(也就是说上述只是一个例子,你的程序要接受一个序列,然后构造相应的二叉树,最后通过后序遍历计算出值(注意不是根据中缀表达式计算出值,而是通过后序遍历所构造出的二叉树计算出值))。
2011-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人