摘要:
正如其名简单工厂模式的思想很简单,就是把复杂代码封装起来便于日后重复调用。我们会使用new MyClass()来创建一个对象。但这种方法十分原始,无法胜任许多情形。 在JDBC中我们需要获得一个Connection来连接数据库。数据库可能是MySQL、Oracle、SQLServer等等。Java提供了java.sql.DriverManager来帮助你连接各种数据库。客户端只需要调用Drive... 阅读全文
摘要:
适配器模式分为两种:类适配器模式和对象适配器模式。 类适配器模式需要用到多重继承机制(C++支持)。 然而Java/C#等语言不支持多重继承,那么可以采用对象适配器模式。 本文首先讲解类适配器模式在C++中的实现,然后讲解对象适配器模式在Java中的实现。 背景 我们有一个绘图应用,可以在屏幕上绘制一些形状。该应用首先会获得该形状占据的区域大小,然后将形状绘制在此区域内。 客户端代... 阅读全文
摘要:
现在我们要做一个天气应用程序,可以显示当前的天气状况。你需要从气象台获取数据,然后显示在公告板上。气象台的数据随时都有可能变化,你的公告板也需要同步变化。我们可以让公告板每隔一段时间查询一次天气数据。为了不错过重要数据,这个时间间隔要小一些(也许每隔一秒)。同时又为了节约资源,这个时间间隔又要设大一... 阅读全文
摘要:
这章用星巴克咖啡店的例子演示了装饰器模式的使用。先来看看在星巴克点咖啡的场景:在星巴克你先要点一种饮料,然后你可以加入各种调料(调料也要钱)。比如:来一份综合咖啡(House Blend),加一份摩卡,再加一份豆浆。那么一共0.89+0.2+0.15=1.24美元。在比如:来一份综合咖啡,加两份摩卡... 阅读全文
摘要:
我们要创建一个鸭子世界,这里的鸭子会飞还会叫(嘎嘎嘎)。当然鸭子的种类也有很多,红头的、绿头的等等。第一个设计方案:继承我是OO程序员,我在基类中实现fly、quack和display方法。子类继承基类的方法,这样代码还可以得到复用。看起来真是个好主意。public class Duck { ... 阅读全文