到底什么是软件架构?( 二 )
每个域都有其特殊性 。规则不适合,原则适合 。每个原理都将以给定的方式应用于每个领域 。一切都取决于 。但是要在这一点上前进,我们需要习惯于重新思考 。也许回去做几片kata或dojos 。
忘记规则,忘记模式……解决问题的最简单方法是什么?
忘记屏幕,忘记数据库…解决教授提出的大学挑战的最简单算法是什么?
忘记用例,忘记体系结构…编写测试,查看失败,编写可能通过的最少代码,然后进行重构 。
忘了上课,忘了界面…更具可读性的是什么? 对于刚开始在公司工作的新手来说,最容易理解的是什么?
忘记模式,忘记继承…我放置此代码的软件包是否一致? 使用此规则的任何人都容易找到它吗?
当然,我们将使用UI,数据库,用例和模式,类,接口和继承 。但是这些东西都是用来帮助我们为解决问题的最简单代码建模的工具 。
域的每个部分都有不同的问题 。即使它们看起来都像相同的CRUD 。系统的一部分将需要一个在构造函数中具有数据的实体,另一部分将需要一个在网关内部生成的实体 。另一部分将需要其中包含许多规则的网关 。另一个将有一个仅由其他用例使用的用例,另一个将使它们全部内联 。
但是问题更重要:此代码是目前最简单的代码吗? 就是这样,因为过一会我们会学到更多,并将此代码更改为更好的代码 。
[1]《域驱动设计》一书探讨了一些概念,这些概念有助于将应用程序与外部因素隔离开来,但目标是以与业务领域一致的方式对业务规则进行建模-这确实非常重要,而另一个主题是 文章-并没有过多地关注独立性和自由性 。
(本文翻译自Caio Andrade的文章《What Exactly Is Software Architecture?》,参考:https://medium.com/swlh/what-exactly-is-software-architecture-c1c67d1213f3)
【到底什么是软件架构?】
推荐阅读
- 福建白茶简介,安吉白茶网是安吉白茶原产地官方网站
- 什么是容器?什么是控制反转?什么是依赖注入?
- 淘宝怎么成为超级会员啊 淘宝超级会员有什么用处
- 淘宝店铺的销售计算公式是什么 淘宝店铺的销售额公式是哪个?
- 姑娘茶属于什么茶,内蒙砖茶属于什么茶
- 文件后面是7z是什么文件?文件名后缀7z是什么文件?
- freebuds pro 麒麟a1?华为freebudspro用的什么芯片?
- 格力空气能热水器与海尔空气能热水器哪个好?电热水器格力好还是海尔好?
- 云标签怎么使用 云标签是什么意思
- 那种淘宝免单是真的吗 淘宝免单活动可靠吗