邓辉关于《架构的尖叫》一文的看法。

邓辉:2011.10.10

在建筑行业,除了Arhcitect外,还有个很重要的角色,叫structural engineer,这个角色考虑的问题是实现的经济性,Architect主要解决布局和用的问题。

在软件中,Architecture是个很含糊的概念。如果我们把范围做点局限的话,在软件中Architecture应该首先提供整个系统的Shape,这个Shape应该是由如何使用这个系统提供的,其实这个就是系统的概念模型。这个概念模型有多种呈现方式,比如物理目录结构,构成元素的名字,规则、协作方式等等。

由于在和建筑做类比时,忽略了structural engineer这个角色,所以很多软件架构在设计时,会忽略掉实现的经济性和可行性。有时,经济性和可行性会从根本上影响到系统的布局和使用,这个在建筑行业经常发生。

 可以这样说,架构的设计有两个层面,一个逻辑层面,一个物理层面。逻辑层面考虑以用为导向系统的shape,可以脱离具体的部署环境。在物理层面要考虑实现的经济性和可行性,必须考虑实现时的约束。在做架构设计时,一定要在这两个层面不断震荡,才能形成真正好的架构。

framework只是个在实现时可供选择的工具而已,和libray没啥本质的区别,相反其侵入性要远大于libray。

 物理设计会影响逻辑层设计的决策,但是这两个层次要分离,这样才是好的设计

 框架是实现,设计模式是思路,没有可比性。2、框架和库没啥区别,都是完成某种任务的实现工具,只是框架试图通过对某个特定领域的需求进行预测来把大部分的实现决策进行固定,而预留一些hook价格应用来定制,这正是其侵入性所在,绝大多数情况下,框架都成为限制做正确的事情的障碍(当然,能感知到这点不太容易),从这一点来说,其不如lib 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值