今天跟同事们聊到要给我们的系统设计一套框架。我问他想要个做什么的框架,他给了我一张图:
我第一感觉是:这不就是SpringMvc的Dispatch Servlet么?第二感觉是:这位同志哥好像没想清楚自己想要什么样的框架。
好的框架至少要有两个功能。
第一个功能是减少重复工作、提高开发效率。例如SpringMvc/Struts,减少了Http的重复操作;Hibernate/MyBatis,减少了JDBC操作;另外公司有些业务框架会将重复的业务功能放到框架中。这都起到了提高开发效率的作用。
第二个功能抽取、规范业务逻辑。我在公司写过账务功能的、审批功能的、任务分派的业务框架,基本都是这一类型。这类框架与其称为业务框架,不如称为业务模型。它有助于理解产品和业务逻辑,也便于维护现有功能和扩展新功能。
不过,严格的业务模型与系统优化之间往往是有冲突的。这个带过。
从提高开发效率的角度来讲,那位同志哥的框架要做的事情,基本上SpringMvc已经替我们做了。
从规范业务逻辑的角度来说,这个框架可以承担一部分责任。但是,不同的业务之间千差万别,要把它们全部装进一套处理逻辑里,有点挑战。
时间: 2024-10-26 08:00:34