关于系统设计抽象一层的思考

平常在设计系统时,会基于现有的条件进行系统架构的设计,满足当前用户的需求,以最小的代价完成系统设计和实现。这样的设计在无法完全确定当前业务能否“活下来”的情况下是比较适用的,因为成本较低,可以快速试错,但是带来的缺点是总以最小代价来进行设计,可能会导致设计能力的原地踏步。因此,我们应该在成本可控的基础上再多进行一层抽象的思考,当用户量级或者请求量级提升上来之后应该如何进行设计以保证系统的可靠性,或者如何提升设计的通用性,减少以后的修改成本。