我们都希望我们的系统可以变得灵活,也都希望将复杂度通过函数,模块,组件,接口等等方式限制在一定的范围内。但即使这样,
想变得灵活大多数的做饭还是选择了使用间接性来增加灵活性,同样的也增加了复杂性。在新系统架构的时候很大程度是我们预判,可能根据具体业务,
来决定我们的技术选择,将灵活和复杂做很好的平衡。
Rob Pike的演讲[《Simplicity is Complicated》说到了另一种隐藏在复杂后面的简单。有种简单是“非侵入式”的,就像我们使用的垃圾收集系统,如果你真的需要或者喜欢,你可以自己分配和回收内存。然而在这之后确实需要多大量的工作。还有一个就是Windows系统的兼容性,简单的看即使我们现在用得Windows 10,以前2000,XP下得程序还是可以很好的运行。
除此之外,我们在为了灵活构建复杂系统的时候能有个友好的接口,通过接口把复杂消弭的几乎看不见也是很好的办法。诸如ElasticSearch
对于Lucence
。
Comments: