JAVA工厂模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA工厂模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1807字,纯文字阅读大概需要3分钟。
内容图文
![JAVA工厂模式](/upload/InfoBanner/zyjiaocheng/741/88025846ef6c466a91d4c5ad76fe7502.jpg)
如果要严格按照DIP思想进行编程,那么就要对所有易变类使用工厂。如果有必要使用Proxy模式,那么可以使用工厂模式去创建持久化对象,如果要在单元测试过程中添加一个测试桩(欺骗对象),这时也可以通过工厂模式来实现。使用工厂会带来一定的复杂度,但是这些都是可以避免的,尤其是在设计初期。
工厂模式允许我们只依赖于抽象接口就能创建出具体对象的实例。该模式对于高度易变的类特别有效。下面是一个具体的例子:
假设我们要封装一组文本框控件,如下图:
以上是一个简单工厂的常用实现方法,下面介绍一下抽象工厂模式,,抽象工厂模式涉及到以下的角色。
抽象工厂(AbstractFactory)角色:担任这个角色的是工厂方法模式的核心,它是与应用系统的商业逻辑无关的。通常使用Java 接口或者抽象Java 类实现,而所有的具体工厂类必须实现这个Java 接口或继承这个抽象Java 类。
具体工厂类(Conrete Factory)角色:这个角色直接在客户端的调用下创建产品的实例。这个角色含有选择合适的产品对象的逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关的。通常使用具体Java 类实现这个角色。
抽象产品(Abstract Product)角色:担任这个角色的类是工厂方法模式所创建的对象的父类,或它们共同拥有的接口。通常使用Java 接口或者抽象Java 类实现这一角色。
具体产品(Concrete Product)角色:抽象工厂模式所创建的任何产品对象都是某一个具体产品类的实例。这是客户端最终需要的东西,其内部一定充满了应用系统的商业逻辑。通常使用具体Java 类实现这个角色。
考虑以上例子,我们加入对按钮控件的处理
抽象工厂模式的应用场合
(1)一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节。这对于所有形态的工厂模式都是重要的;
(2)这个系统的产品有多于一个的产品族,而系统只消费其中某一族的产品;
(3)同属于同一个产品族的产品是在一起使用的,这一约束必须要在系统的设计中体现出来;
(4)系统提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于实现。
转载于:https://www.cnblogs.com/hjzhang/archive/2010/06/15/2043566.html
内容总结
以上是互联网集市为您收集整理的JAVA工厂模式全部内容,希望文章能够帮你解决JAVA工厂模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。