分层框架下后端模块设计步骤

模块设计隶属软件设计中的详细设计,一般是由编码的程序员负责实现的。一般要经历“界面设计—>类与接口设计—>数据结构与算法设计”三大步骤,通常需要反复迭代。当前主流的软件开发框架都是分层框架,每一层都有明确的责任和分工,类的划分上调用方仅需要知道被调用能做什么,无需了解被调用方是如何实现的,要体现面向对象程序的三大特征中的封装性

controller设计

界面设计是人机交互部分,需要充分考虑最终操作用户的操作感受和体验,关于界面设计的具体要求再此不做描述,重点说明在分层框架下后端模块设计的步骤。
数据对象设计:后端开发人员需要根据界面原型了解,前端要展示哪些内容及前端操作哪些数据需要持久化存储,这些数据将被设计为后端的VO对象,VO对象设计原则是携带的信息没有任何冗余,不多信息,也不丢失信息。由界面层提取和设计VO对象时需要注意以下事项

1.VO是否包含主键。在界面层将主键显示给用户是没有任何意义的,如果仅用于一次显示完整,无需做其他的任何操作,则VO不包括主键内容。如果需要进行二次查询显示详情或更新数据库的内容则需要包含主键成分。
2.VO对象是否需要包含详情信息。这个需要根据具体情况而定。如果要显示的内容全部是少量文字,数据传输量不大,则一次提取到VO对象中,由前端进行处理即可。如果包含大文本、图片、多媒体等内容。则需要将这些信息在二次查询中给出,无需包含在VO对象中。
3.VO对象中的属性基本与数据库中字段名保持一致,这样转换比较方便。在简单的单表操作中,实体对象等同于VO对象。
接口设计 :controller接口设计时一般规则是一个模块对应一个controller,这个模块所有需要和后端交互的操作均来自这个controller。接口设计时需要注意以下事项

  1. 接口尽可能简单,如保存使用save方法,无需注明是新增(insert)、还是更新(update),这些操作交给后台进行处理。
  2. 通过contoller将数据操作处理逻辑和后台数据库进行隔离,类似与门面模式,前端仅和contoller发生耦合,与其他模块无关,如:员工维护时,员工的职称、学历均使用combox,数据来自于数据字典,设计时getProfessionalTitle()和getEducation()两个方法,不要将任务交给前端,让前端
  3. 不要为了复用调用其他contoller中的内容。

service层设计

service层完成数据操作、加工处理和各种业务逻辑的处理,也是面向对象程序设计中核心环节,虽然信息系统中业务规则比较简单,但设计时应该注意以下事项。

  1. 框架提供的service类只是service和controller之间通讯的对象,换句话所controller只有通过service类才能完成各种数据的操作,并不是service层中所有的类。我们需要根据业务逻辑和面向对象的设计原则进行业务规则类进行进一步的划分和处理。通常当数据操作、加工处理和业务逻辑非常简单时,我们service类中完成业务处理的编写。
  2. 在service类中尽量使用框架提供的已经成熟的方法。如basemapper提供的:selectAll、selectByID、insert等。
  3. service类和controller并非一一对应。
  4. 在services层需要完成VO对象到实体对象的转换。

dao层设计

dao层负责与数据库之间的交互,完成ORMapper(实体对象与关系数据库数据的转换)、数据库的增删改查等操作。需注意以下事项:

  1. 善于复用框架提供的操作,在mybatisPlus中提供了单表的增删改查方法,无需编写任何接口方法即可完成相应操作。
  2. 在SSM框架中只需定义接口,无需编写实现即可完成数据库的操作,其工作原理是框架已经提供了数据库操作的实现,通过代理模式完成,具体对象创建的。
  3. 多表连接查询、特殊的操作需要编写SQL语句或存储过程完成,可以采取接口方法上加注解符或单独的XML文件实现,建议使用单独的XML文件实现。在SSM框架中一个Dao层接口文件对应一个独立的XML文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值