zoukankan      html  css  js  c++  java
  • 接触软件体系架构设计(二)

    步入工作,截止2005年,大部分采用面向过程或面向对象快速解决些问题,局部采用面向对象设计实现软件功能。

    在2005年到2008年期间,采用三层架构完成外包项目。

    现在回顾下三层架构/多层架构:

    从垂直角度来看,划分如下:

    A、表示层,又称表现层UI,位于三层构架的最上层,与用户直接接触的界面。在B/S信息系统中, Web浏览页面作为表示层,承载实现用户界面功能,将用户的请求上传到服务器,确保用户的优质体验。

    B、业务逻辑层BLL,实现了软件的主要业务逻辑,对表示层提供展示数据支撑依据,对数据访问层提供数据效验和持久化操作。

    C、数据访问层DAL,常规是针对数据库进行操控,实现数据的增加、删除、修改、查询等操作,并将操作结果反馈到业务逻辑层BLL。不仅限于数据库。


     


    分层技术,目的是“高内聚低耦合”,其下每层:

    表示层目的:展示和体验

    业务逻辑层目的:业务处理

    数据访问层目的:存储

    多层架构是基于三层架构的衍生,更加细分了层次关系。一般根据需要,将业务逻辑层BLL和数据访问层DAL进行再次分解,达到解耦以及提高后期的可维护性。

    实施规则:

    1、各级层次开发明确工作内容,不要跨层设计。特别是表示层

    2、设计的出发点,从业务逻辑层开始,要明确业务的输入输出

    特别注意:

    在表示层中是否包含前置判断逻辑,这个是体验优化的范畴,或者说:在产品效果设计时,对其定义。这类定义可能和业务逻辑的前置限定有部分重复或完全重复,不能因为业务逻辑层完成,就不需要实现。

    这一点,在设计中必要的明确。

    分层优劣:

    优点:层次分明,减低依赖,结构清晰,易于维护、扩展、复用。

    缺点:开发工作量大,从单条性能效率低下。容易出现级联修改。


    随聊:

    在SX外包团队,人员紧张,基本上一个人多个项目穿插或一个人抗一个项目,由经理把控进度,相互合作开发,以文档或QQ方式协定,相互帮助完成

    外包团队的效率在于团队以及每人的能力体现。项目主程,在分层架构,无论三层还是多层,在细分的过程中,宏观上把控层级的划分,同时也需要注意细节的控制。

    外包的失败,有诸多原因,最大的原因,还是人。

    思考越多,做得越快。

  • 相关阅读:
    开源围棋A.I. FoolGo
    再写围棋的MC模拟
    棋串的数据结构
    一种Lua到C的封装
    用vim写ios程序
    一种C函数到Lua的封装
    Unix命令
    RSA java rsa加密,解密,生成密钥对工具类
    UOS 开启远程登录
    UOS 设置 java 程序开机启动
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/12795552.html
Copyright © 2011-2022 走看看