java工厂类设计模式,java实现工厂模式
00-1010优缺点使用场景1、实现方式1、定义一个接口2、定义两个接口实现类3、定义一个工厂类2、测试总结
目录
1.一个调用者想要创建一个对象,只需要知道它的名字。
2.高可扩展性。如果要添加产品,只需扩展一个工厂类。
3.屏蔽产品的具体实现。来电者只关心产品的界面。
00-1010 1.每增加一个产品,都需要增加一个特定的类和对象实现工厂,使得系统中的类数量翻倍,一定程度上增加了系统的复杂度,也增加了系统对特定类的依赖性。这不是一件好事。
00-1010 1.记录器:记录可能被记录到本地硬盘,系统事件,远程服务器等。用户可以选择登录的位置。
2.数据库访问,当用户不知道最终系统会采用什么样的数据库,数据库可能会发生变化。
3.设计一个连接服务器的框架需要三个协议,“POP3”,“IMAP”,“HTTP”,可以作为产品类共同实现一个接口。
00-1010比如我们需要在电商平台上买一部手机。我们不需要关心手机厂商是怎么生产手机的。我们只需要在搜索框输入:华为手机,小米手机,就可以买到我们想要的手机。我们来看看具体的实现。
优点
包com . asur plus.common . factory;接口电话{/* * *获取手机* * @ return */String Get phone();}
缺点
包com . asur plus.common . factory;/* * *华为手机实现类*/public类华为手机实现phone { @ override public string get phone(){ return 华为手机;} }包com . asur plus.common . factory;/* * *小米手机实现类*/public类小米手机实现phone { @ override public string get phone(){ return 小米手机;}}
使用场景
包com . asur plus.common . factory;/* * *手机工厂类*/公共类PhoneFactory {/** * Get手机* * @ param name * @ return */public static phone Get phone(string name){ if(华为。equals(name)){退货新华为手机();}如果(‘小米’。equals(name)){退货新小米手机();}返回null}}
一、实现方式
包com . asur plus.common . factory;/* * * factory mode */public class test main { public static void main(string[]args){//Get手机华为phone=phonefactory.getphone(华为);system . out . println(Huawei phone . get phone());} }输出结果
我们的投入:华为,拿到了华为的手机,从而实现了我们的工厂模式。
1、定义一个接口
本文到此为止。希望它能帮到你,也希望你能多关注更多的盛行它的内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。