Android中的分层----service 层,domain层,dao 层,action层等设计

注:转载地址http://www.wxx3g.com/articles/907.html

良好的编码风格,不仅仅是为了提高代码的可读性,更重要的是培养自己的一种编程思想,在每一次创建新类的时候,脑子里都会不由自主的分析该类的层设计,那么恭喜你,你的编程思想正在进步。下面总结一下面向对象设计中主要用到的各层含义,不足的地方还望在评论中补充。

service 层

              服务层:直接为客户端提供的服务或功能。也是系统所能对外提供的功能。 

domain层

              领域层:系统内的领域活动,存放实体。

dao 层

           持久层,DB操作都写在这里,数据访问对象,通过领域实体对象来操作数据库。

biz层

           业务层,我只做某方面的业务处理,如果需要数据库工作,联系下数据部门(dao)协助我,业务层不会出现数据操作

           代码

action层

             控制层,MVC中充当C角色,用来分配哪个业务来处理用户请求。

common层

            通用工具包,一般一个公司会有固定的jar,好几个项目通用的,例如远程调用等

工作流程:

             一个请求发送到action(作用:MVC中的C),action控制它发送到哪个biz处理,如果用到数据库,那么biz在连接dao,然后返回要的数据,最后action在返回响应的页面(比如jsp),因为是面向对象,所以实体domain在中间传递数据。以上为工作流程.

 其中有些指导原则:

  1、上层总是依赖其下层,依赖关系不跨层。

  2、表现层除外,同一层之间方法不允许相互调用。这是实际开发中一些开发者容易范的错误!如果真是同一层之间存在方法调用,需要注意,这些调用都是一些上层不可见方法,比如一些工具方法等。

  3、一切从服务层出发,从系统需要提供的功能进行分析,确定Service接口中的方法。而不是从数据库的表出发,创建DAO,再创Domain,然后Service,这实际上是对系统分层的误解。

  4、系统最核心的设计就是将系统中的实体划分为领域模型。在此基础上设计数据的DAO层,并将这些活动暴露给服务层,服务层的实现依赖于领域活动。

  5、每个接口的职责范围明确有界。

总结一下:

         失败不是开源框架和数据库以及应用服务器和硬件配置的错,根源在于拙劣的设计导致。

  希望以后大家在做项目的时候能注意点


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值