一套软件开始进行开发, 形态将不断增大, 复杂度也将提升
开放中随着各种副作用, 调整架构难度快速增长, 人们倾向于保持架构
最初的设计或者重构决定这未来软件将如何发展
于是我想, 是否能理解软件本身是一种生长, 而存在其特定的的规律呢?
最初的设计无法预见未来所有需求, 只是根据设想设定了运行的机制
比如 Model 可能的规则定义好了, 往后只会添加不破坏兼容性的扩展
而 View 相对随意, 大体形态跟着交互设计进行着迭代, 却也不会颠覆用户习惯
期间软件在兼容和迭代之间做各种取舍, 随着时间纠结和推进
假如软件有着特定的生长方式, 那么能否做更多的联想?
软件有着不断增长的熵, 却很生命一样有一股负熵的力量在不断维持?
软件到达一定的规模, 就特别难在架构上进行整体的改变?
大量的软件遇到意外的环境而枯萎, 成为其他软件的养料?
还有个问题, 软件如果像一棵棵树, 那起生长的过程是怎样的?
最近因为项目变大我开始担心上边提到这样一些问题, 软件如何生长的?
其中是否有一些规则, 而这些规则造成我目前开发中的疑神疑鬼和难办?
一个软件生长, 其过程是怎样的, 我在编写当中应该如何遵循其规律?
哪些部分将频繁改变, 哪些部分将作为主干在代码库当中延续?
哪些部分将作为华而不实的枝蔓, 需用动用剪刀无情地修剪?
怎样一个结构才是软件合理的架构, 数据在各个成分之间清晰流动?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。