设计模式
简单工厂模式
需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee]和拿铁咖啡【LatteCoffee]);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。 简单工厂模式 ❒ 主要角色 ✔ 工厂类: 负责创建对象的类,通常有一个静态方法,根据参数的不同返回不同的产品对象。 ✔ 产品接口:所有产品的接口或抽象类。 ✔ 具体产品:实现产品接口的具体类。 ❒ 优点 ✔ 简化了对象的创建过程,客户端只需调用工厂方法即可获取所需的对象。 ✔ 符合开闭原则,增加新的产品只需增加新的具体产品类和相应的工厂方法,不影响现有代码。 ❒ 缺点 ✔ 工厂类集中了所有的创建逻辑,导致其职责过重,违反了单一职责原则。 ✔ 难以支持复杂的产品组合和变化。
✔ 工厂类: 负责创建对象的类,通常有一个静态方法,根据参数的不同返回不同的产品对象。 ✔ 产品接口:所有产品的接口或抽象类。 ✔ 具体产品:实现产品接口的具体类。