为啥要是用工厂方法

为啥需要工厂方法去获取对象,不直接new呢。

蝴蝶不菲
浏览 378回答 5
5回答

UYOU

看需求了,有些需求就适合工厂模式

喵喵时光机

工厂方法去获取对象,在要换个实例化的对象时只要改工厂类里new的一处就好了,如果不是工厂 就要每个new都要改。

守着一只汪

个人觉得,封装复杂的对象属性配置

浮云间

直接上一个简单工厂方法案例看一下哈,通过代码解释补充一下,题主问题打的标签是java,以下是php代码,天下代码是一家 // 定义一个接口 interface Person { public function getWork(); } // 实现该接口 class Teacher implements Person { public function getWork() { echo 'Teacher teaching'; } } class Student implements Person { public function getWork() { echo 'Student study'; } } // 此处为核心点 class Factory { /* 通过静态方法返回生成的指定类的对象 按照我们的理解,实例化对象需要 new 类名 如 $test = new Test; $test->方法名(); 再实例化一个: $test2 = new Test2; $test2->方法名(); ...... 实例化一次就需要再new一次类 而通过此处的简单工厂模式,则可以不需要知道具体的类名就可以生成对象 */ public static function getPerson($work) { return new $work; } } $res = Factory::getPerson('Teacher'); $res->getWork();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java