《人月神话》:chapter 4 系统设计中的“专制”和“民主”

以下总结来自于《人月神话》 第四章 :贵族制,民主制和系统设计

系统设计中最重要的因素:概念完整性

1.设计必须由一个人或者具有共识的小型团队来完成

2.大型系统架构设计与具体实现相分离

3.必须有人控制概念,确保完整性,称之为 专制

根本任务定义为“打造构成抽象软件实体的复杂概念结构”

附:对于第2点 ,类似于SOA想法,或者微服务

SOA是一种设计方法/思想,其中包含多个服务,而服务之间通过配合最终会提供一系列功能。一个服务通常以独立的形式存在于操作系统进程中。服务之间通过网络调用,而非采用进程内调用的方式进行通信。

比如单独创建一个工程部署在一台服务器上,并且写一个方法(或称函数)执行上述查询操作,然后使其他人可以通过某种途径(可以是http链接)访问这个方法得到返回数据,返回的数据类型是通用的json或者xml数据,就是说把这个操作封装到一个工程中去,然后暴露访问的方式,形成“服务”。比如这里就是注册用户服务,而关于注册用户的所有相关增删改查操作这个服务都会提供方法。

次要问题为“用编程语言表达这些抽象实体”

在保持专制性的前提下,架构师需要通过各种方式让他专制落地。

回归到个人开发者/个人研发身上,在开发一个新模块或者新功能时候,定义好任何可能混淆的,可延展性的概念。以防止未来的不可预测性。同时接受其他建议,纳入到“规则”中去。

简单来说:设计阶段保持专制,开发阶段保持民主

如何定义架构师?

可以代表用户的想法,简言之为产品经理的角色,支持用户真正受益。

思考:利益的一致性

甲方更需要一个 架构师

 个人正在经历的事情

产品人员C关心功能是否上线,研发人员A发现系统健壮性出现问题,需要修复后才可以完善新功能。但是C坚决不同意A的想法,认为首要任务是甲方的满意度。

在这件事情中。C作为业务架构设计者没有与研发达成利益一致性。过多的决策和争议会影响对具体实现的关注。

那解决方案是,需要取得技术架构的设计者的意见。在两者之间做出决策。决策的结果不一定是双方都满意的或者优于任意一方的,重要是需要实现决策和实现分离。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董厂长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值