项目开发中的架构体系认知
什么是架构
在项目开发开始前,我们都会考虑这个项目使用什么架构,架构的选定取决于我们需求,我们选取的架构需要能够解决我们的实际业务问题。架构是一个比较笼统的概念,什么是架构,架构怎么定义。架构的目的是解决实际问题,并根据我们要解决的问题,对系统的边界进行界定对系统按某个原则进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作。并对这些切分出来的部分,设立沟通机制。使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
java项目最常见的架构
对应java项目来说,最常见的MVC架构,按照职责分为了三个部分。模型,视图,控制器。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 视图是用户看到并与之交互的界面,对Web应用程序来说,视图就是由HTML元素组成的界面。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
实际项目中采用的架构
MVC是从大的宏观上表述的项目架构,更细节的项目架构。这个项目哪些模块,使用了哪些框架。
例如我们设计一个企业内部使用的报销系统,应该采用什么架构,怎么来设计这个架构。对于报销系统来说,一个比较重要的需求是报销过程中报销单的各级的审核流转,想到这儿我们可能想到java工作流的框架activity,还有就是财务部门和其他部门普通员工应该需要不同的权限,我们可能想到java的权限框架shiro。这个报销系统是企业内部使用,那么就注定了这个系统不会有很大的并发,这个报销系统我们就能采用springBoot+springwebmvc+activity+shiro来做java后端框架。