Home
Neil Blog
Cancel

工厂模式(Factory)

世界上唯一不变的就是变化!找出变化的方面,把它们分离出来。 场景一 你拥有一家比萨店,内容要求 提供很多种类不同的披萨 以后新增新品或删除旧品,要求扩展性好 简单工厂 类图 实现 Pizza public interface Pizza { void prepare(); void bake(); void cut(); ...

装饰者模式(Decorator)

曾经我以为男子汉应该用继承处理一切,直到领略到运行时扩展的风采,它远比编译时期继承的威力更大。 场景 作为咖啡馆都负责人,需要设计一套结账体系,内容要求: 咖啡馆里面有很多种咖啡,每种咖啡都价格不同 每种咖啡可以添加不同种类都配料,配料也可以重复添加 以后新增咖啡或者配料时,要求扩展性好 实现 尝试设计 程序员不为难程序!这样设计,不仅给自己,同时也给接手...

观察者模式(Observer)

出版者 + 订阅者 = 观察者模式 场景 贵公司新谈成一笔合约,内容要求: 建立一个气象站,该气象站必须建立在甲方专利申请中的WeatherData上,有三个布告板,分别显示目前状况,三种布告板必须实时更新; 这个气象站必须可扩展,希望能够提供一组API,让其他开发写出自己的布告板。 手动实现 类图 主题(Subject) public interface...

Trending Tags