Open latelee opened 3 years ago
康威第一定律
Conway’s law: Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.– Melvin Conway(1967)
组织设计的产品/设计等价于这个组织的沟通结构。
康威第二定律
There is never enough time to do something right, but there is always enough time to do it over。
时间再多一件事情也不可能做的完美,但总有时间做完一件事情。
康威第三定律
There is a homomorphism from the linear graph of a system to the linear graph of its design organization.
线型系统和线型组织架构间有潜在的异质同态特性。
康威第四定律
The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems。
大的系统组织总是比小系统更倾向于分解。
正交性
正交性是有助于使复杂设计也能紧凑的重要特性之一。在纯粹的正交设计中,所有的操作均无副作用;每一个动作(无论是API调用,宏调用或者语言运算)只改变一件事情,不会影响其他。无论你控制的是什么系统,改变一个时期的方法有且只有一个。
基础API只提供,必要,且只完成一件事情的接口,这样用户可以通过组合的方式,完成所有功能。
幂等性
“幂等”是指一个操作重复执行N次得到的结果(副作用)与执行一次是相等的。幂等性原本是数学中的含义,表达式的是N次变换与1次变换的结果相同。
例如: 在HTTP协议中,get请求,会得到同样的数据
RESTFul API中的幂等性是指调用某个方法1次或N次对资源产生的影响结果都是相同的,需要特别注意的是:这里幂等性指的是对资源产生的影响结果,而不是调用HTTP方法的返回结果。 举个例子,RESTFul API中的GET方法是查询资源信息,不会对资源产生影响,所以它是符合幂等性的,但是每次调用GET方法返回的结果有可能不同(可能资源的某个属性在调用GET方法之前已经被其他方法修改了)