范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Java工厂模式的最佳实践?

  前言
  最近在重温设计模式(in Java)的相关知识,然后在工厂模式的实现上面进行了一些较深入的探究,有了一些以前不曾注意到的发现,遂将其整理成文,以作后用。
  工厂模式是典型的创建型模式,相比于创建简单对象的小作坊(new一个对象),它可以将复杂的构造逻辑进行封装,并对外暴露相对简单的接口方法,从而简化对象的创建流程。并在一定程度上提供平替模块而不用改变代码结构的灵活特性。
  在许多书籍和文献里喜欢将工厂模式划分为简单工厂模式和抽象工厂模式,但是我个人认为它们或许并没有如此明确的界限——至少在OOP里面。继承的存在使得我们的"工厂"和"产品"都可以是多态的,我认为理解这一点尤为重要。工厂模式只是一种对复杂构造流程的封装,至于抽象程度高还是低并不影响它的本质。
  通过代码来展示工厂模式的文章已经很多了,但我认为它很无聊且脱离实际,有点通过答案来倒推过程的味道。我将用一个夸张的故事来说明工厂模式的局限,以及需要注意的地方,提醒自己在今后的工作中不要犯这样的错误——当我得意忘形,以为自己很聪明的时候。 理想的工厂模型
  通常来说,只有明确了我们的"产品"是什么,才能知道我们需要怎么样的"工厂"。我们假定最初的产品是一个MP3播放器,它的构造很复杂,因此我们引入了一个工厂类用来创建它的实例。为了应对未来可能的修改,我们对解码器和解码器工厂做了接口的抽象,看起来像这样:
  到目前为止,它都符合我们的设计预期,运作良好。我们甚至有足够的信心应对未来可能的(想像中的)需求变更:"随着业务的发展,只支持MP3格式的播放器看起来已经太寒酸了,于是乎引入了其它的播放格式。得益于我们之前的设计,不用改动原来的代码,只需要增加一组实现就能实现新增的需求,so easy."
  然而,现实总是打脸的,经过产品的深入调研,决定将播放器业务扩展到视频领域,对没错,就先支持个H.264编码的视频流吧,好像同行竞品都在用呢。于是,开发人员不得不重新考量原来的设计。于是经过若干个996,开发组调整了原来的设计,并完成了下面的系统:
  开发人员顶着黑眼圈,面带满意微笑地在最后期限的前一天晚上提交了代码——这下无论它增加音频格式和视频格式,我们都可以灵活应对了,嘿嘿嘿!负责架构的小锅拍着胸脯向各位开发成员如是说道。并在PPT上附上了下一阶段的(想像中的)技术方向:
  新入职的初级开发小蔡似乎觉得有什么地方不太对劲,欲言又止。但下一秒又安慰自己:肯定是我自己经验不足,理解还不到位,这个设计应该没有问题! 道高一尺魔高一丈
  随着一阵聊天工具此起彼伏的响声,产品又紧急召集众人开会了。"来活了各位,我们的播放器面对同行毫无优势,经过我们的研究,决定在原有的播放基础上,增加转换输出的功能!速度要快,质量要稳!对了,最好能多支持几种格式,最好市面上找得到的格式都支持一下。"各位开发脸色铁青,尤其是架构师小锅的脸色黑得最为纯粹。
  由于研发周期短,项目组来不及细细思考和重新设计,只能在原有项目基础上增加相关的模块来应对新的需求。半小时讨论,半小时敲定。大家一致决定,不如就沿用原来工厂模式的设计,反正我们已经有前面的经验,应该不会有什么大问题,于是新的设计诞生了:
  为了维持项目原有的结构设计,开发人员在编码阶段似乎显得有点不堪重负,经过两周紧锣密鼓的开发,项目不出所料地延期了。
  年轻的被寄予厚望的架构师小锅在复盘会议上失去了往昔眼中的高光。  何谓最佳实践
  以至于多年以后,在公司新来的架构师小程向大家讲述工厂模式的巧妙应用的那一刻。
  不再年轻的小锅又回想起三月里那个温暖的下午。注:就是去背锅的那个下午。
  小锅起身,先是肯定了小程扎实的基本功和流畅的表达,随后又把当年的往事向大家娓娓道来,边板书边讲,尽最大可能向大家讲述了当年事情的来龙去脉,并作出总结: 切勿盲目自信,陷入教条的陷阱 你可以预见变更,但永远不能预测需求 过早的优化是万恶之源
  众人陷入沉默,随后年轻的小程率先打破僵局,向小锅问道:"那么,最后,问题是怎么解决的呢?"
  小锅微微一笑,先是没有说话,随后转过身去疯狂画起图来,毕了潇洒转身将手背到身后,说:"从哪里跌倒就从哪里站起来。"
  小结
  为了更好的说明工厂模式能解决什么问题,不能解决什么问题,以上故事纯属虚构,饱含夸张的成分,如有雷同,请勿对号入座。
  回到最初的起点,只有明确了我们的"产品"是什么,才能知道我们需要怎么样的"工厂"。 不必着急引入模式,先让产品飞一会儿。在不稳定的维度上引入工厂模式是没有意义的,因为异变需求无法被初始抽象完全界定,错误的抽象还不如不抽象。 作者:程语有云
  出处:https://www.cnblogs.com/mylibs/p/java-factory-pattern-best-practice.html

MySQL入门基础知识数据库概述数据存储阶段1人工管理阶段缺点数据无法共享,不能单独保存,数据存储量有限2文件管理阶段(。txt。doc。xls)优点数据可以长期保存,可以存储大量的数据,使用简单缺点数新的一年,你期待的,正在路上面对新的一年,我们每个人都有许多的期待。风物长宜放眼量,过好每一个当下,时间一定会在未来的某天给你备下一份厚礼。最美的风景,在你前行的路上人在舒适区太久了,就容易变得僵化,久而久之故乡的黄昏回故乡已经好几天了,正碰上雨季,天空总被厚厚的积云覆盖着,不知疲倦的细雨在清晨,午后,黄昏和夜晚一直不停的下着,想要外出都已经变得非常不容易,只能这样无聊的待在屋里感受这雨中的世界正月十五吃元宵时要注意啦!正月十五是中国传统节日元宵节。人们一直以来都用吃汤圆或者元宵来庆祝这个节日。这种传统风俗,已有两千多年的历史。那么,元宵节为什么要吃汤圆或者元宵呢?元宵节吃汤圆有什么寓意呢?元宵节助力龙泉湖片区发展,龙泉古镇正月十四盛装开园不忘初心,匠心巨献,发挥龙泉古镇特色文化资源优势,助力龙泉湖片区品质发展,龙泉古镇2月4日(正月十四)盛装开业,特推出开园门票58元!升级后的龙泉古镇有一个质的跨越,一定会给广大市广州至上海的4条高铁通道,最快竟然不是走南昌,而是走沿海通道广州至上海,将来坐高铁至少有四条路线,下面就对比分析这四条通道各自最快的旅程时间,看看它们与飞机相比有没有竞争力,当高铁和飞机的旅程时间接近时,就会出现实质性竞争态势,飞机票打折幅了不起的哈尼人,绘就宏伟壮阔气势磅礴的大地艺术元阳梯田元阳梯田,也有人叫哈尼梯田,位于云南省红河州元阳县的哀牢山南部,是哈尼族人世世代代祖祖辈辈前赴后继,历时1300多年,创造的最了不起的最宏伟壮阔最气势磅礴的大地艺术。元阳梯田总面积论张居正变法之税法改革的成效(上)张居正,他的一生传奇而极富影响,他历经嘉靖隆庆万历三朝,于隆庆六年(1572年)受遗诏辅佐年幼明神宗朱翊钧,升任内阁首辅。张居正在当国十年期间,他雷厉风行地革除弊政,推行万历新政,秦咸阳遗址考察记(三)阿房宫前殿遗址我去阿房宫前殿遗址考察的时间是2017年4月27日,那时打造遗址公园的工程,才刚刚开始。史记上说(秦始皇)三十五年(前212年),乃营作朝宫渭南上林苑中。先作前殿阿房美苏冷战,苏联为何解体?1991年冬,在美国家家户户都在庆祝圣诞节的时候,苏联为他们献上了一份大礼,电视机里宣告着,苏联正式解体,当克里姆林宫上的红旗被俄罗斯的三色旗取代时,这个与美国争斗了半个世纪的红色坎坷情感路(1)1920年9月30日,上海苏州河畔的一幢西式小楼,一名女婴顺利诞生,父母为她取名张煐,后改名为张爱玲。这是一座带着浓郁西洋风味的建筑,近旁是潺潺流水的苏州河,墙上爬满苍劲的藤
秋向深处走去秋风起,翻过盛夏的篇章,熨平岁月的棱角,秋叶落,几许秋意,几缕秋风,落在这一季清秋的情怀,总是有着谈不完的心事,经年的记忆还未淡去,此时就装下一季崭新的秋色。天高云淡,空气微凉,清比生活变得更快的,永远是人心文林溪学习文摘现代人的生活节奏都很快,很多时候,没办法拿出整块的时间来阅读和学习。而我则是那个喜欢阅读的人,我愿意通过我的阅读,挑选或者总结归纳一些精美的句子,分享给大家,希望能给社会中的两套生存秩序(深刻)这个世界上有两套秩序,一套是以道德为中心,大家只说不做,一套是以利益为中心,大家只做不说。社会认知水平分为三层!一是给普罗大众所学,让人安安稳稳过日子。二是真传,传内不传外,只有用怀念父亲再过两月,就是父亲去世十周年的祭日!每逢深秋,中秋节来临之际,我所有的思绪都已填满了对父亲的怀念,在梦里一次次的相见,父亲在世时难见的笑容可亲,让我感受到父亲在世与离去的强烈反差,原谅为什么这么难对不起,请原谅没关系,不要紧,孩提时代,面对道歉,我们的回应似乎自然又简单。随着年龄的增长,这句代表原谅的没关系却迟迟说不出口,取而代之的是念念不忘的怨恨愤怒或者失落。我们不得不扪真正厉害的人,早就看淡了这3件事,希望你也能做到想了解更多精彩内容,快来关注阿丁说感情平凡的世界里有一句话在这个世界上,不是所有合理的和美好的都能按照自己的愿望存在或实现。我们活得太累,就是因为我们顾虑太多,看重的东西太多。路,200元人民币,请乌克兰私人美女导游,带你玩到不想走听说在乌克兰旅行,晚上住酒店时,有身材火辣的乌克兰姑娘上门推销。(此处已添加小程序,请到今日头条客户端查看)那么你知道在乌克兰,花费200元就能请一位五官精致,身材完美的乌克兰美女三明行迹中村草洋明洪武二年(1369年),张伯四肇基中村草洋至今已653年。张伯四原居永邑贡川流栏阁乡,后移居沙县二十四都,至白水村前村仔牧牛,见秀一洋,四水拱聚,地暖风和,符牛珉之兆,因筑茅房以著名运动达人孙佳祺分享运动服装穿搭,展现古铜色肌肤和完美身材头条创作挑战赛著名的运动女达人孙佳祺在社交平台分享了自己户外运动的衣服穿搭的写真,并留言我似乎找到了这个季节在户外跑步的最佳穿搭方案!简单来说就是既想透气又怕着凉顺便还想给胳膊防防中企官宣突破芯片核心技术,老美的紧逼起到了反作用中企官宣突破芯片核心技术,老美的紧逼起到了反作用!国内的半导体产业,一直以来都寄托于国际供应链,公平公正的合作环境,吸引了众多国际企业赴华建厂,其中不乏有台积电三星英特尔等等顶尖企重回0岁?清华科学家耗时六年,使细胞逆转年龄又获新生在大多数人的认知中,生物由受精卵向成熟个体发育的过程应该不可逆的,可以简单理解为20岁的我们无法再回到1岁。但在前段时间,我国清华大学丁胜教授和他的团队,在经过长达六年的潜心研究,