您的位置:首页 > 其它

设计模式学习笔记——简单工厂模式、工厂方法模式、抽象工厂模式

2017-05-22 21:50 295 查看

简单工厂模式

定义

简单工厂严格意义来讲不能算作是一个设计模式,通常使用一个静态方法接收参数,通过参数来判断实例化不同的实现类。



优缺点

优点:简单工厂模式能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。明确区分了各自的职责和权力,有利于整个软件体系结构的优化。

缺点:很明显工厂类集中了所有实例的创建逻辑,违反高内聚的责任分配原则,它所能创建的类必须是提前考虑好的,不能直接扩展,只能修改方法内部的实现。

工厂方法模式

定义

工厂方法模式——定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。



优缺点

优点:符合依赖倒置原则,依赖抽象,不依赖具体类;具有相应的灵活性,可以方便的进行扩展。

缺点:相对于简单工厂,实现稍微复杂点。(-_-)!!!

抽象工厂模式

定义

抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。



优缺点

优点:抽象工厂模式隔离了具体类的生产,使得客户并不需要知道什么被创建;当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象;增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。

缺点:增加新的产品复杂,需要修改抽象工厂和所有的具体工厂类。

总结

简单工厂 : 用来生产同一等级结构中的任意产品,不支持拓展新产品。

工厂方法 :用来生产同一等级结构中的固定产品,支持拓展新产品。

抽象工厂 :用来生产不同产品族的全部产品,支持拓展新产品以及产品族。

本博文为读书笔记:

《Head First 设计模式》

《大话设计模式》

《Android源码设计模式解析与实战》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐