对于代码设计,我们是有着一些规律、原则、方案去遵循的,比如大家常说的MVC、MVP、MVVM之类的架构,以及观察者模式、单例模式、装饰模式等等的经典设计模式。
但到了实际项目里,该选用哪种架构、哪种设计模式,如何去设计自己的代码,说到底还是比较感性的。我们还是会遇到多种设计方式都行、都不错难以抉择的问题。或者说也会经常问自己,到底该设计成什么样,具体设计应该把握到什么样的深度、广度、复杂度。
那么在作出这些比较感性的选择时,下面这两点就是我们需要十分小心的了:
- 设计的前瞻性,和过度设计之间的平衡
- 面对频繁变化着的客观情况,声称为拥抱变化,而去寻求某种长期甚至永久不变的解决方案,这种做法就等同于没有拥抱变化
不过最后,对于这两点的思索,并没有什么标准答案、绝对正确的答案,毕竟每个人的想法都不同,所以其实八仙过海各显神通,开心就好。