我们一起来读书吧 关注:153贴子:2,639
  • 0回复贴,共1

《设计模式-可复用面向对象软件的基础》3.1-3.2

只看楼主收藏回复

《设计模式-可复用面向对象软件的基础》第3章 创建型模式
3.1 Abstract Factory(抽象工厂)——对象创建型模式重点:
定义:提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。
目的:通过使用抽象工厂模式,客户端可以以一致的方式创建对象族,而不需要知道具体类。
结构:
AbstractFactory:声明创建抽象产品对象的操作。
ConcreteFactory:实现创建具体产品对象的操作。
AbstractProduct:为一类产品对象声明一个接口。
ConcreteProduct:定义一个将被相应具体工厂创建的产品对象,实现AbstractProduct接口。
Client:仅使用由AbstractFactory和AbstractProduct类声明的接口。
应用场景:
当一个系统要独立于它的产品的创建、组合和表示时。
当一个系统要由多个产品系列中的一个来配置时。
当需要强调一系列相关的产品对象的设计以便一起使用时。
当需要提供一个产品类库,而只想显示它们的接口而不是实现时。
感想:
通过抽象工厂模式,可以帮助我们隐藏具体类的复杂性,使得系统更加灵活和可扩展。它遵循了依赖倒置原则,使高层模块不依赖于低层模块的实现,从而实现了松耦合。在实际开发中,抽象工厂模式非常适合用于构建跨平台应用或需要创建一系列相关对象的系统。
3.2 Builder(生成器)——对象创建型模式
重点:
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
目的:通过使用生成器模式,可以一步步构建一个复杂对象,客户端不需要知道具体的构建过程。
结构:
Builder:为创建一个Product对象的各个部件指定抽象接口。
ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并跟踪它所创建的实例,并提供检索产品的接口。
Director:构造一个使用Builder接口的对象。
Product:表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程。
应用场景:
当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
当构造过程必须允许被构造的对象有不同表示时。
感想:
生成器模式通过将复杂对象的构建过程分解为多个步骤,使得构建过程更加清晰和易于管理。它特别适合用于需要构建不同表示的复杂对象的场景。在实际开发中,生成器模式常用于构建复杂的对象,尤其是在构建需要多个步骤且各步骤可能有不同配置的对象时。通过使用生成器模式,可以提高代码的复用性和可维护性。


IP属地:澳大利亚1楼2024-09-13 16:53回复