这篇文章主要说明从小型项目到大型项目中,如何合理地扩大项目架构,使其能够支撑日渐增多的代码,
可以发现,其实VFPAED架构就是VX架构,V就是View,而X就是其他,也就是说对于GUI应用,
本质上只需要分解为两层:View/Other,但是想要更合理地架构软件,就需要对VX中的X进行合理拆分了,
VFPAED中,FPAED就是对X的拆分,前面对VFPAED的介绍看起来很复杂,是正常的,因为那介绍的是完全架构,
而对于非完全架构,就有很多种可能了,下面我们就来看如何从最简单的非完全架构逐步进展到完全架构:
(1)如果你的项目比较小,那么可以这样做,只需要一个Framework,并且不需要任何Action,
可以选择使用Event或者不使用Event,如果不使用Event,就使用接口回调的方式,
对于Provider,也不需要使用键值对注册存储,直接定义变量即可,举例:
1 | class Framework { |
(2)如果你的项目逐渐变大,那么可以将Provider使用键值对进行存储,然后获取Provider从Framework根据键名获取,
还可以引入Action来处理一些重复的动作功能,如果你的事件需要支持多个接收端,那么可以引入Event,
如果只有一个接收端,可以继续使用基于接口回调的方式,切记不要为了设计而设计,永远都要根据实际情况来决定。
(3)如果你的项目足够大了,那么可以按照完全架构进行了,并且还可以参照上一章引入依赖注入,来解决某些耦合问题。
以上并不是唯一的解决办法,仅仅是我根据VFPAED架构的特点,推导出的一部分非完全架构的做法,VFPAED还有更多的变种,
还可以作出更多的推导,只要不放弃思考,总能找到最适合自己项目的方式。