设计模式
哈希马普
软件开发给我最大的启发就是——开源
展开
-
工厂模式——烘烤OO披萨
一、简单披萨店 我们在对象村开了家简单的披萨店,下面是披萨店制作披萨的代码: public class PizzaStore { Pizza orderPizza(String type) { Pizza pizza = null; //根据类型创建不同种类的披萨 if (type.equals("cheese")) { ...原创 2019-09-14 17:49:26 · 876 阅读 · 0 评论 -
从咖啡到装饰者模式
先来杯星巴克咖啡 星巴克咖啡与时俱进准备搞一套网上点咖啡系统,它们最初的代码设计是这样的: 咖啡要加调料的,例如:牛奶、豆浆、摩卡等,所以设计修改为: 每个类有自己的cost()方法,一旦牛奶价格上涨,所有与之有关的类就得修改,维护很麻烦。 我们可以利用实例变量与继承减少类,调料定义为布尔型实例变量,判断有无添加调料,代码如下: public abstract class Beverage {...原创 2019-09-30 00:51:03 · 392 阅读 · 0 评论 -
单例模式制造独一无二的对象
为什么使用单例模式(why) 为什么不用静态全局变量呢?如果将对象赋值给全局变量,那么你必须在程序一开始就创建对象,非常消耗资源。利用单例模式,就可以在需要的时候才创建对象。另外全局变量可能指向多个对象,这违反了实例唯一性。 什么是单例模式(what) 单例模式确保一个类有且仅有一个实例,并提供一个全局变量。类图如下: 单例模式典型例子强调三点:1、定义私有静态全局变量,2、私有化构造器,3、用...原创 2019-10-05 22:32:24 · 117 阅读 · 2 评论