文档章节

细化迭代一:[迟到很久的]软件架构设计

m
 mtlyx
发布于 2015/04/19 18:54
字数 767
阅读 36
收藏 0

一、软件分层

    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注解。




© 著作权归作者所有

共有 人打赏支持
m
粉丝 4
博文 4
码字总数 2887
作品 0
中山
转一篇不错的简约开发过程定义

最近在看江南白衣的springside项目的时候,发现一篇不错的开发过程定义,可以作为希望或刚成为项目经理的同志们屡屡思路,做为参考. 1. 介绍 本文档基于Agile UP原则,从活动、工件、工具几方面...

orpheus
2009/08/01
0
0
统一软件开发过程——RUP

RUP(rational unified process)是一个面向对象且基于网络的程序开发方法论。它是以面向对象方法为基础的方法,RUP坚持以用例驱动,以架构为中心,迭代和增量的开发方法。 下面以思维导图为...

邵鸿鑫
2014/01/27
0
0
敏捷开发一千零一问系列之九:总体架构什么时机进行?(上)

这是敏捷开发一千零一问系列的第九篇。(之一,之二,之三,问题总目录) 问题 总体架构设计在什么时机进行?是每个迭代做还是先做完再迭代? 这是少数几个被提到的技术问题。在两天的培训课...

疯狂的艺术家
2012/03/02
0
0
软件生命周期模型及其选择

瀑布模型/改进的瀑布模型  虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最基本的和最效的一种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格按照需求->分析->设计-...

灵动生活
2010/02/08
0
0
软件开发方法

软件 能够完成预定功能和性能的可执行的计算程序、支持程序正常的运行、以及描述程序的操作和使用文档。 软件工程 将系统的、严格约束的、可量化的方法应用与软件的开发、运行和维护。 软件开...

learn_more
2015/12/01
70
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

配置Spring的注解支持

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 配置Spring的注解支持 以上也提到了使用注解来配...

凯哥学堂
41分钟前
0
0
关于Spring Aop存在的一点问题的思考

在本人前面的文章Spring Aop原理之切点表达式解析中讲解了Spring是如何解析切点表达式的,在分析源码的时候,出现了如下将要讲述的问题,我认为是不合理的,后来本人单纯使用aspectj进行试验...

爱宝贝丶
43分钟前
0
0
JavaScript 概述

JavaScript是面向Web的编程语言。绝大多数现代网站都使用了JavaScript,并且所有的现代Web浏览器——基于桌面系统、游戏机、平板电脑和智能手机的浏览器——均包含了JavaScript解释器。这使得...

Mr_ET
今天
0
0
Java Run-Time Data Areas(Java运行时数据区/内存分配)

Java运行时数据区(内存分配) 本文转载官网 更多相关内容可查看官网 中文翻译可参考 2.5. Run-Time Data Areas The Java Virtual Machine defines various run-time data areas that are use...

lichuangnk
今天
0
0
docker learn :services docker-compose.yml

docker-compose.yml定义了服务的运行参数 version: "3" services: web: # replace username/repo:tag with your name and image details image: hub.c.163.com/dog948453219/friendlyhello d......

writeademo
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部