我知道工厂方法是一种适合创建对象的设计模式,而客户端不需要知道对象需要是哪个具体类。但这假设工厂在创建对象之前就知道标准
但是,我的情况有点不同。我需要在超类中创建一个对象,或者通常是一个抽象类。一旦对象被构造(并且仅在那时),就可以应用逻辑来确定它可以属于哪个类别,即子类。
想象一下,您是一家从大学招聘人才的大公司。孩子们真的不知道他们想做什么,你会在训练后给他们分配位置。所以起初某人是一个Employee
,然后六个月后他们演变成一个Programmer
,等等QA
,Analyst
这取决于他们的倾向。所以我需要Employee
在创建后将类传播到Programmer
,QA
等Analyst
。然后每个都会继续存在,Employee
但每个都会有自己独特的属性。启动时,它们都是公正Employee
的,因此 Employee 不能是抽象的。
我想有一个返回子类的子类创建方法,但这意味着有两个实例,初始超类,最后是我想要的子类,此时我不再需要超类。我知道一旦创建了子类,我就可以将父对象设置为 null 和 GC,但我想知道是否有更优雅的方法来做到这一点,即设计模式。