细化迭代一:[迟到很久的]软件架构设计
博客专区 > mtlyx 的博客 > 博客详情
细化迭代一:[迟到很久的]软件架构设计
mtlyx 发表于3年前
细化迭代一:[迟到很久的]软件架构设计
  • 发表于 3年前
  • 阅读 18
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

一、软件分层

    1、UML包图:


    2、描述:

        本次课程设计采用play框架(半路弃用ssh,架构师表示真的不想坑害队友==),为什么要使用play; 前端采用amaze ui, 戳这里是amaze ui

           view: 用户视图层,使用play默认scala template渲染模板,同时使用国产前端框架amaze ui

           cotroller:  控制器

           model: 模型

           router: 路由,负责请求方法跳转

二、接口命名规范

    (1) 各层包及类命名规范 : 

         总体原则:包名所有字母小写,类名采用 “驼峰标识”,由于paly遵循默认大于设置的设计思想,所以对各种类和方法的命名已有规定,此处遵循play命名规范;

    (2) 其它命名规范 :

         1.变量命名:  

            变量名首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母大写, 单词与单词之间不要使用"_"做连接,变量名访问控制必须为私有, 可以对其增加 setter与getter方法;  

         2.常量命名:  

            所有字母大写,如果有多个单词组成,单词与单词之间以” _“隔开。而且 该变量必须是公共、静态、final类型;       

         3.方法命名:  

            首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母大写, 单词与单词之间不要使用"_"做连接。单词不要使用名词 ; 

    (3) 前端规范:

        按照约定的文件摆放位置,命名规范遵循前端命名规范,和后台通过ajax进行交互;

    (4) 类Restful接口设计规范 : 

        1.响应请求规范:

          请求:GET: 使用url传参,如:?a=1&b=2; POST: 使用Json传参,从request.body中获取此Json,如:'{"a": 1, "b": 2}' ;

          响应:返回值格式为json,分为成功返回(ok_json)和失败返回(fail_json):

            ok_json示例:{data: {"user_id": 1},"error": "", "retmsg": "1"} ;

            fail_json示例:{data: {}, "error": "no pointer event","retmsg": "0"}

        2.接口规范:

           如/customer/add;

三、架构相关设计模式

        1、关于DAO模式:

             Play实体采用ActiveRecord模式,将Struts中的dao与pojo合并,ActiveRecord也属于ORM层,由Rails最早提出,遵循标准的ORM模型:表映射到记录,记录映射到对象,字段映射到对象属性。配合遵循的命名和配置惯例,能够很大程度的快速实现模型的操作,而且简洁易懂。Play也提倡使用ActiveRecord模式进行快速开发,其主要思想是:

            每一个数据库表对应创建一个类,类的每一个对象实例对应于数据库中表的一行记录;通常表的每个字段在类中都有相应的Field;

            ActiveRecord同时负责把自己持久化,在ActiveRecord中封装了对数据库的访问,即CURD;

            ActiveRecord是一种领域模型(Domain Model),封装了部分业务逻辑;

        2、关于MVC模式:

             如包图所示,同时采用play注解。




共有 人打赏支持
粉丝 5
博文 4
码字总数 2887
×
mtlyx
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: