软件架构五大原则,确保你的项目100%成功
旺道跨圈推广 -> 最新发布
全文共

2529

字,预计学习时长

5

分钟

软件架构五大原则,确保你的项目100%成功

图片来源: yourspear.com

方案架构师是负责系统架构以及特定产品的技术标准(包括技术、平台、基础架构)的专家。他们为产品设定前景,他们的分析也是产品的定义、设计、交付和永久支持的成功关键。因此,构架师不仅需要了解业务需求,还需要了解符合企业技术总目标的逻辑性、可扩展性及成本效益。


架构师的重要技能之一就是能从许多不同的角度来看待架构,因为每一个单独的角度可能不完全相关,但结合在一起就可以从总体的角度来看待产品。这些角度包括原则、标准、模式和反模式、经验法则和经验实践,而这些对于决策方向确定和项目评估成功至关重要。


本文将一一介绍这些架构原则。


软件架构五大原则,确保你的项目100%成功

SOLID五原则


SOLID原则不仅适用于软件开发,也适用于系统的架构。


单一功能原则


每个系统功能(例如服务/模块/应用界面)应该只有一个职责,因此也只有一个变更的理由。尽可能地缩小职责范围,用户便会理解其功能,从而减少错误的发生。


开闭原则


这一原则认为,最好在不修改系统操作的情况下对其进行扩展。尽管提前预测需求的变化可能导致过于复杂的设计,但是能够以现有组件的最小更改来适应新功能是应用程序长期使用的关键。


里氏替换原则


在软件开发中,这一原则意味着派生类必须可替换为它们的基类,但这一原则与勃兰特·梅耶的“契约式设计”关于如何应用于分布式架构有着相似之处:两个服务在进行多次有效沟通后,它们之间形成一种“契约”,其定义了两者的输入/输出、结构和约束。因此:对于具有相同契约的两个分布式组件,一个组件应该可以替换为具有相同契约的其他组件,而不会改变系统的正确性。


接口隔离原则


接口或契约必须尽可能的细化及特定于客户,因此调用客户端并不依赖于它们不使用的功能。这与单一责任原则相辅相成:通过分组接口,我们提倡通过按角色或责任分离的组成,将派生模块与不需要的职责分开解耦。


依赖反转原则


高级模块不应该依赖于低级模块,它们都应该依赖于抽象。同样,抽象不应该依赖于细节,而细节应该依赖于抽象。因此,该原则引入了高层和下层软件组件或层之间的接口抽象以消除双方的依赖关系。

软件架构五大原则,确保你的项目100%成功

软件架构五大原则,确保你的项目100%成功


“最小”原则


在下文中,将根据这些原则的名称将他们一起来介绍。


最小惊奇原则


最小惊奇原则(或最少意外原则)指的是,当首次发现某个解决方案或方法时该领域中知识渊博的人不会感到惊讶(受众可能不同,例如最终用户、程序员、测试人员等)。更实际地来说,该原则的目的是利用用户已有的知识,在使用模块时尽量减少他学习曲线,因此任何具有高不可预测性因素的事物都是用来重新设计的好选择。


这一原则适用于架构的每个方面:从命名服务到用户界面的可视化,再到域模型的设计。

软件架构五大原则,确保你的项目100%成功

有惊喜也有惊吓……


最小省力原则


最小省力原则(也称为齐夫定律)源于一项人类的基本行为:即每个人都倾向于选择走尽可能不费力的道路。例如,如果一项设计遵循于特定的模式,那么下一个开发人员将一次又一次地遵循这一相同的模式,除非有简单得多的方法出现,这时开发人员才会改变这一模式。或者更进一步说,一旦他们找到一项任务的可接受结果,就不需要立即改进当前的解决方案。


最省力等同于最少的工作量。


因此,必须通过建立正确的架构来实现一个好的开端:即设定很高的期望值,并确保每个人都明白工作质量不能在项目周期中受到影响,并且即使未来发生变化,质量也要得到保证。


这个原则的伟大之处在于它的效益是可以推断的:只要把正确的设计放在适当的位置,就可以创建一个架构框架,这将是下一个系统构建的基础。换言之,就能够为组织的软件系统建立一个成功且不过时的模板。


软件架构五大原则,确保你的项目100%成功


最简便的道路


软件架构五大原则,确保你的项目100%成功


经济学中的原理


以上提到的两个原则有一个共同的主题:即都充分利用了机会成本和推迟决策成本。


机会成本原则


人们每次做选择时,做出的选择都会与一定的价值有关。价值分两部分:效益和成本。选择的机会成本是放弃其后才得到的。为了做出一个好的经济决策,我们希望选择效益最大但成本最低的方案。


例如,摆在面前的有两种选择,一种是内部构建的系统,另一种是现成的供应商产品,如果选择后者,那么机会成本就是开发团队可能会开发出的令人眼前一亮的新系统。


因此,架构所要做的就是权衡不同的选择,做出明智的决定,为项目争取最大的价值。例如,一个非常常见的分歧就是,是创建一个战术上的解决方案,以便快速推向市场,还是创建一个更具战略意义的解决方案,虽说现在成本更高一些,但未来成本会降至最低。


以下是一些可供考虑的因素:

· 架构分析或评估的可用时间是多少?毕竟提出一个解决方案已经非常有挑战性,更不用说好几个了!

· 未来1-3年的产品路线是什么?还有什么其他的项目?能看到任何协同效应吗?

· 目前可能解决的技术债务是什么?

· 反过来想:如果寻求一个战术解决方案将会产生多少新的技术债务?

· 哪些品质要素对企业中的系统最重要?以及它们可能将如何被提议的解决方案所影响?

· 除了架构团队,还有谁是影响决策的利益相关方?公司?你的老板?技术设计部门?每一个利益相关方的核心目标是什么?如何调解有冲突的需求?

软件架构五大原则,确保你的项目100%成功

图片来源: What is opportunity cost


最后责任时刻原则


这一原则(也称为延迟成本)源于精益软件开发,强调尽可能长时间地坚持采取重要行动和关键决策。这样做是为了在最后一刻之前不漏掉重要的备选方案,即缩小选择范围,直到得到更全面的信息做出最佳选择。


这个策略不是过早做出决定,而是推迟决定,直到不做决定的成本大于作出决定的的成本之前,保留重要且不可逆转的决策。


而有一种缓解决策过晚风险的方法是建立概念验证(POCs),来原型化备选方案,并向利益相关者证明他们的需求。

软件架构五大原则,确保你的项目100%成功

在项目的早期,应该尽可能少地做出有约束力的决定!


软件架构五大原则,确保你的项目100%成功


结语


架构原则可帮助我们评估整个项目中所做的决策,同时确保其不仅符合项目的总体目标,且符合企业的技术范围。下图集中展示了本文中所阐述的五项原则:

软件架构五大原则,确保你的项目100%成功

软件架构五大原则,确保你的项目100%成功

留言 点赞 关注

我们一起分享AI学习与发展的干货

编译组:沈田、孙梦琪

相关链接:

https://towardsdatascience.com/5-key-principles-of-software-architecture-e5379cb10fd5

如需转载,请后台留言,遵守转载规范

打开APP阅读全文
教育培训机构-如何策划节日招生?
做教育培训,最重要的事情莫过于招生了。面对不同的学员,招生方…于招生。目标不同,活动策划也会不一样。② 活动主题要鲜明不仅主题要鲜明,主题之间要有连续性。就像看连续剧一样,一集接一集,一环扣一环。策划好一系列活动,一个接一个来,从多个角度延续活动的宣传,突出主题,引起关注度。常用的招生方式有:体验课招…-------------想要获得更多运营技巧、doc文案,
教育培训:如何提高满班率和续班率
什么是满班率?就是实际人数除以计划招生人数,这个值就是满班率…员有流失是正常的,但要保证一个概率。在保障老学员续期的基础上,我们也要大胆创新,开设网络课程,拓宽招生区域。实地课程录制后,进一步发行到商弈云课上,通过商弈云课系统转成真实流量,网上有人点击观看,点赞,可以按点播量分佣金。助你在日常的营销推…-----------------------想要获得更多运
培训机构难盈利的问题出在哪里,如何实现盈利?
竞争白热化实地培训班、托管辅导班竞争白热化了,利润越来越稀薄…现没有多少盈利。还有一部分负责人在刚招生时,掌握了不少资金,开始盲目扩张,盲目做课程推广,以期待获得更多生源和收费,从而使培训班陷入了这种恶性循环的陷阱里。其实这些到手的钱,并不是你的利润,而是你未来要支出的钱。如遇到行业快速发展时期,或者…-----想要获得更多运营技巧、doc文件,请“关注”并“转
“差异化”经营是网络培训赚钱的关键所在
“差异化经营”这个词,相信大多数人都耳熟能详,但要做到的却是…。在现有的基础上更新升级或者资源整合就是对现有的产品或者技术,进行升级版本,或者通过一些资源整合,成一个项目。你的技能以前是用来生产或制造产品,现在是把技能升级成知识培训,转换云课堂。直白一点就是可以让老师自行录好课程并上传到学校的商弈云课…在着缺点和不足之处。在创新改革时,要从功能、服务、价格等方面
教育培训行业是如何运作的?
以前读书时,学校附近有个小摊卖鸡蛋灌饼。刚开始的时候只有一家….%,剩下的一对一和多人大班其实市场份额都很小。家长报培训班,是希望孩子能够学到知识。老师通过课上教学和课后辅导来满足孩子的需求,达到成绩提高的目标。我见过上百人的大培训班,为什么一个班这么多人?因为是名师讲课,但人太多坐后面,基本听不到重…是你的核心竞争力。想要得到用户的认同,你就必须做到产品质量好
旺道:实体店怎么做网络营销?
年纪大了,体力不好了,便赚不了什么钱了。所以,一定要在年轻的…写文案都是非常头痛的事情,那么下面我会给大家提供一个解决方案。在互联网营销系统里面有很多细节营销,软文营销就是其中一种,但好多小白头痛写文章,所以可以用这个方法也一样可以植入广告语,或者是图片广告,轮显切换广告,使用 旺道营销系统,也就是每…以帮你吸引海量精准粉丝。有了粉丝,你通过广告、产品、服务就可
旺道:圈里圈外,铁饭碗距离瓷饭碗究竟有多远?
中国人爱混圈子,从线下一直混到线上,各种奇形怪状的圈子勾勒出…不能推则敷衍了事,盼着混到主任科员退休;一种是老黄牛式,踏踏实实、兢兢业业工作,但拙于人际关系,活干得最多,但依旧不见晋升迹象;还有一种是提线木偶式,你扯一下线他动一下,好像脑子和身体是分离的。我突然一拍脑袋,这是提前衰老的迹象啊,工作内容…即使选择留在铁饭碗圈里,也应保有随时离开的思想警惕和进行必要
旺道:微信要双开了,朋友圈推广更好做了
现在手机只能登一个微信,如两个,三个微信的小伙伴们就只能退出…动推广工具、 设置头像点击头像图标,点“+”选择图片,可以上传你的企业,个人头像,产品服务等。旺道微信朋友圈广告免费朋友圈广告-旺道、 设置推广主题点“广告”,再点“+”设置推广的主题(类别),填好中文主题,以及你的网址。教你不花一分钱做朋…简直就是一劳永逸哟。如果你点开发布的文章看不到广告,那就是你
旺道:如何能让网站多个关键词排名百度首页?
最近接了一个单,做婴儿游泳馆加盟的。优化推广范围是全国,但是…泳馆加盟哪家好”、“婴儿游泳加盟多少钱”这类与我息息相关的词。如何能让网站多个关键词排名百度首页?但客户并不认同,客户说这个词指数低,或者说搜的人不多。是,这是一方面原因。但是,指数低有什么关系,你是卖产品还是卖指数。搜的人不多有什么关系,…实现广告效果最大化,来满足大众化的广告需求。对于这样的四两拔
旺道:如何成为网络营销达人?这个技能帮你节省80%的时间
在某次名师讲坛上,听到了一个让人警醒的故事。说有个村子缺水,…准的产品。现在已经不是新鲜事物,好多企业因为百度竞价的高额费用,头疼不已,所以做网站关键词优化排名,成为了企业必选的推广项目。做优化也要做到有成效,不然就是一分钱也是昂贵的。用 旺道智能机器人 就可以持续代替人工去做,它非常聪明,只要你够耐…手,设备先进,你多努力奔跑也于事无补。简单说,要去一个地方,

此文章来源来互联网,如果你有任何版权冲突,可以联络我们,微信号:WANCOME,QQ:1444641。加我们时,请说明来意,我们将优先处理你的问题。




旺道商弈  | 圈广告  | 一键推  | 圈推广  | 圈营销  | 圈推广  | 跨圈推
粤ICP备10213132号
旺道商标注册证号:8608864
Copyright © 2016 环企网络信息科技有限公司 版权所有