频道栏目
首页 > 资讯 > 其他 > 正文

移动开发三层架构和例子

17-12-27        来源:[db:作者]  
收藏   我要投稿

前言

首先要说说为什么要有这玩意,如果不分层的话岂不是更快的连接数据库??答案确实是更快,不分层速度会有提升。但是综合考虑,分层了比不分层有点多了太多,虽然有牺牲,但是三层会有相当大的拓展性以及特别多的优点。我们使用三层的目的是为了“高内聚,低耦合”的思想。下边就来说一说三层架构的优点,以及缺点。

优点和缺点

优点

1、开发人员可以只关注整个结构中的其中某一层;

2、可以很容易的用新的实现来替换原有层次的实现;

3、可以降低层与层之间的依赖;

4、有利于标准化;

5、利于各层逻辑的复用;

6、拓展性强;

7、安全性高;

8、项目结构更清楚,分工更明确,有利于后期的维护和升级。

缺点

1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

三层简述

1、显示层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得,这里我就先简单的理解为主要就是软件的窗体界面类。

UI作用:

向用户展示现特定业务数据;

采集用户的输入信息和操作;

将有需要的信息在显示曾显示出来。

UI设计原则:用户至上,兼顾简洁

2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。B层是联系U层和D层的桥梁,进行他们之间的数据交互。

作用:

从DAL中获得数据进行逻辑操做,以供UI显示用;

从UI中获得用户指令和数据,执行业务逻辑;

从UI中获得用户指令和数据,通过DAL写入数据源;

3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。接受B层的命令,对数据进行处理。

作用:

从数据源加载数据(Select);

向数据源写入数据(Insert/Update);

从数据源删除数据(Delete);

将数据返回B层;

4、实体层(Enitity):贯穿于上面三层,在三层之间传递数据

好处:减少系统出错的可能,提高开发效率

例子

饭店将整个业务分解为三部分来完成,每一部分各负其责,服务员只管接待顾客、向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;后勤工作人员只管提供美食原料;他们三者分工合作共同为顾客提供满意的服务。在饭店为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一者的人员发生变化时都不会影响其他俩者的正常工作,只对变化者进行重新调整即可正常营业。

我们用三层结构开发的软件系统于此类似,表示层只提供软件系统与用户交互的接口;业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递;数据访问层只负责数据的存取工作。

如果服务员、厨师、采购员这三种任何一人离职或者请假,我们都可以立马找别人来补上,任何一个出现问题都不会影响其他人,这也充分的体现了“高内聚、低耦合”的思想。

具体流程

总结

只是先做理论上的理解,代码尚未实现,后期添上。


相关TAG标签
上一篇:配置IK Analyzer教程
下一篇:Activity启动流程源码分析(应用中)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站