问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

静态工厂方法代替构造函数中

发布网友 发布时间:2023-05-26 03:36

我来回答

2个回答

热心网友 时间:2024-03-28 10:48

静态工厂并不是代替构造函数本身,而是代替了构造函数的调用,即替换到了new操作符,好处就是降低了类之间的耦合。假设类A中有 IB b = new B()这样的构造函数调用(其中B是接口IB的实现类),那么我们就称A依赖于B这个具体实现,那么A和B的耦合程度就高,如果B发生了变化,很有可能需要修改所有对B发生依赖的类。而工厂模式的出现就是为减低这种耦合,把对B的依赖从A转加到B的工厂方法里,比如:IB b = BF.getInstance();而BF将返回B的实例,当然这个B的实例也是通过B的构造函数生成的,这种情况下即使B发生了某些变化,我们期望另一个也同样实现IB接口的B‘来代替的时候,我们只需要修改BF这一个地方就可以了。
Spring不光是静态工厂方法的最好实例体现,它直接将所有创建者模式提升到了一个高度,即IoC,将app的整个类之间的依赖全部管理了起来。也就是说整个类之间都是接口依赖,而实现依赖全部转加给了spring容器。

热心网友 时间:2024-03-28 10:49

你就简单明白就行了。一个类必须有构造函数,静态工厂方法就是return一个new本类实例。public ClassA{//构造函数public ClassA(){}pubilc static factroy(){return new ClassA();}}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
家政服务阿姨是做什么的? 中央空调水滴图标是什么模式? 和EXO有关(字)的头像3张, 真的没人要么 exo这几个字母头像组合的头像 有没有EX0成员穿有EXO字的衣服的图片,和我头像一样的,越多越好! 为什么工商办卡要证明 亲子阅读的优缺点是什么? 馒头冬天放在室外存放 宝宝2 岁半说话结巴,宝宝结巴怎么纠正? 宝宝讲话口齿不清怎么办 梦见家里盖房好了又搓来要盖的预兆 梦见家宅修的预兆 刨腹产属于高危妊娠吗? 飞香港需要核酸检测吗 售后商品问题一般指的是 ledprrd车是什么 请问购房合同什么时候能拿到? 买房银行贷款合同什么时候拿到 ...内见一枚大小约15*9MM的结节,未见钙化及血流信号,不知道这样的要不... 办信用卡留的分机号重不重要? 部落冲突天咏的作用 部落冲突中我的联赛中名次边上三角图案及下面数字代表,什么? 部落冲突求大神来带我的部落发展(早晨的太阳)(二十几人的那个)_百度知 ... 部落冲突的太阳花有什么用?? 部落冲突里面的太阳花和矢车菊有什么用 给老师报平安,发安全回到家还是发平安回到家 发动机的扭矩高有什么优点 如何查港股公众持股比例 家族获得荣耀是为什么 人民的名义,为什么要叫家族的荣耀? 左“木”右“需”是什么字? APEC制度创新的内容 德国城市化进程中制度创新的架构及其内容是什么? 简述罗斯福“新政”的制度创新。 中国特色社会主义制度自主创新道路的基本内容是什么??救急 企业创新的主要内容 [企业管理创新的内容和分类有哪些] WOW竞拍失败不退全款? 汽车故障码奔驰 出现9001故障码是什么坏了 汽车故障码奔驰 9001 龙腾四海游戏机故障代码? YWW 是什么型号锅炉 联通宽带账号是不是开户手机号 有人说我是微型坦克是什么意思? 你是我的坦克精是什么意思? 尔玛依娜(天仙妹妹尔玛依娜的娱圈沉浮录) 还房贷怎么还 详解还房贷的方法和注意事项? 中国移动江西分公司的公司文化 移动文学 是什么意思? 杨靖宇的意思杨靖宇的意思是什么 坎特伯雷公主与骑士土花68之后刷什么碎片重置石最大收益规划攻略_百度...