为了账号安全,请及时绑定邮箱和手机立即绑定

雷达哔哔哔 - #3-Architectural fitness function

标签:
C++ Kubernetes

1. 推荐度:

TRIAL[ 2017.11 | 2018.05 ]

2. 所属象限:

Techniques

3.  关注问题:

  • 技术架构腐化带来的系统响应度降低,可维护性下降,技术债缠身。

  • 而盲目优化或是单纯的技术驱动的架构优化又往往偏离初衷,容易过度优化,不但没有解决之前的问题,还会引入新的问题。

  • 那……如何度量技术架构的好与坏?如何拿捏技术架构演进的度?如何用目标驱动的方式做技术架构的持续演进?如何衡量技术架构演进的成果?如何进行架构守护?

4. 解读:

Architectural fitness function(适应度函数)借鉴自进化计算,被用来衡量方案对满足目标的适合度。

当定义演进式算法时,算法设计者会寻求更优解,而适应度函数则定义了在此上下文中“更优”的含义。

将适应度函数应用于软件架构,则为系统的架构演进提供了一个度量的目标,开启了“【目标(测试)驱动架构演进】”的新时代。

记住,如果你无法为系统演进,架构升级优化定义出度量的Metrics,并通过Fitness Function写一个测试出来驱动和可视化你的架构演进成果。那就表明你还没有想清楚架构演进要解决的问题,就先不要开始!

《演进式架构》一书定义了架构适应度函数的概念,为衡量架构特征提供了一个客观全面的方法,包括已有的验证标准,比如单元测试、业务指标、监控等等。


webp

Building Evolutionary Architectures

感兴趣的可以了解一下。

5. 工具:

  • ArchUnit:一个可以测试Java系统架构本身的测试工具,例如所有的Service只能被Controller或是Service调用的测试如下:

    webp



作者:王健_TW
链接:https://www.jianshu.com/p/059b3cb6860c


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消