Factory Method - 工厂方法模式

简单工厂模式里通过参数不同创建不同的实例,创建实例的逻辑只存在于单一的工厂类静态方法里。工厂方法模式则将这些创建的实例的逻辑分放在“方法”中,工厂类也抽象出一个Factory接口,各个不同Product对应的ConcreteFactory类(实现了Factory接口)分别负责创建对应Product的实例。

工厂方法模式是简单工厂方法模式的进一步抽象,利用面向对象的多态将简单工厂模式里单一工厂负责生产所有产品转移到抽象工厂类/接口的子类里实现。如果需要新添加产品,只需添加产品对应的具体工厂类即可,而不需要修改已有的代码。

下面是工厂方法模式一个示例的类图:


loger.jpg

可以看到针对不同的xxLog(产品),分别提供了一个xxLogFactory(具体工厂)。

现实示例(JDBC中的工厂方法):

Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://loc
alhost:1433; DatabaseName=DB;user=sa;password=");
Statement statement=conn.createStatement();
ResultSet rs=statement.executeQuery("select * from UserInfo");
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容