我们设计新类的时候,可以根据情况,采用合适的实例化方案。但是,只有当用户知道需要初始化哪个类,并且知道所需的相关参数,才能够应用构造函数进行对象的实例化。
有时候会出现这样的情况:虽然开发者知道需要对哪个类进行初始化,但是初始化数据不完整,或者相关初始化数据格式存在问题,在这样的情况下,因为普通构造函数无法提供相关的支持,所以,我们必须应用设计模式。
以下原则描述了构造型模式的木的:
如果你希望 | 那么可以应用以下模式 |
在进行对象构造之前,要逐步收集与构造相关的信息 | 生成器模式 |
如果需要确定对哪个类进行初始化,那么就推迟这个确定过程,直到某个合适的时候再确定 | 工厂方法模式 |
构造一族对象,它们需要共享某些特征 | 抽象工厂模式 |
通过一个给定的实例创建一个对象 | 原型模式 |
某个一个处于休眠状态的对象,重新构造一个对象,这个处于休眠的对象仅仅包容了对象的内部状态 | 备忘录模式 |
每个设计模式的木的都是在一个特定的语境中解决一个问题。面向构造的模式可以使一个客户在不必调用构造函数的情况下构造一个新对象。