软件分层


应用程序分层体系结构:
  1、表述层:提供与用户交互的界面。
  2、业务逻辑层:实现各种业务逻辑。
  3、数据层:负责存放和管理应用的持久性业务。
  软件分层包含两种含义:
  一种是物理分层,即每一层都运行在单独的机器上,这意味着创建分布式的软件系统;
  一种是逻辑分层,指的是在单个软件模块中完成特定的功能。
软件分层必须符合以下特征:
  1、每个层由一组相关的类或组件构成,共同完成特定的功能。
  2、层与层之间存在自上而下的依赖关系,即上层组件会访问下层组件的 API,而下层组件不应该依赖上层组件。
  3、每个层对上层公开 API,但具体的实现细节对外透明。


软件分层的优点:
  适当的分层,将会提高软件的以下性能。
  1、伸缩性:指应用程序是否支持更多的用户。例如数据库连接。
  2、可维护性:当发生需求变化,只需修改软件的某一部分,不会影响其他部分的代码。
  3、可扩展性:在现有系统中增加新功能的难易程度。
  4、可重用性:程序代码没有冗余,同一个程序能满足多种需求。
  5、可管理性:管理系统的难易程度。
  缺点:
  1、分层越多对软件设计人员的要求越高。
  2、分层越多调试越困难。
  表通过主建来保证每条记录的唯一性,表的主键应当不具有任何业务含义,因为任何有业务含义的列都有改变的可能性。关系数据库学的最重要的一个理论就是:不要给关键字赋予任何业务意义。
  在域模型中,类之间存在四种关系。
  1、关联:类之间的应用关系。
  如果类A与类B关联,那么被引用的类B将被定义为类A的属性。关联还可以分为单项关联和双向关联。
  2、依赖:类之间的访问关系。
  如果类A访问类B的属性或方法,或者类A负责实例化类B,那么可以说类A依赖类B.
  3、聚集:整体与部分之间的关系。
  4、继承
  
  Hibernate 是什么?从不同角度的解释: 1、它是连接 Java 应用程序和关系数据库的中间件。 2、它对 JDBC API 进行了封装,负责Java对象的持久化。 3、在分层的软件架构中它位于持久化层,封装了所有数据访问细节,使业务罗基层可以专注于实现业务逻辑。 4、它是一种 ORM(Object-Relation Mapping 对象-关系映射)工具,能够建立面向对象的域模型和关系模型的映射。 应用程序分层体系结构: 1、表述层:提供与用户交互的界面。 2、业务逻辑层:实现各种业务逻辑。 3、数据层:负责存放和管理应用的持久性业务。 软件分层包含两种含义: 一种是物理分层,即每一层都运行在单独的机器上,这意味着创建分布式的软件系统; 一种是逻辑分层,指的是在单个软件模块中完成特定的功能。 软件分层必须符合以下特征: 1、每个层由一组相关的类或组件构成,共同完成特定的功能。 2、层与层之间存在自上而下的依赖关系,即上层组件会访问下层组件的 API,而下层组件不应该依赖上层组件。 3、每个层对上层公开 API,但具体的实现细节对外透明。 软件分层的优点: 适当的分层,将会提高软件的以下性能。 1、伸缩性:指应用程序是否支持更多的用户。例如数据库连接。 2、可维护性:当发生需求变化,只需修改软件的某一部分,不会影响其他部分的代码。 3、可扩展性:在现有系统中增加新功能的难易程度。 4、可重用性:程序代码没有冗余,同一个程序能满足多种需求。 5、可管理性:管理系统的难易程度。 缺点: 1、分层越多对软件设计人员的要求越高。 2、分层越多调试越困难。 表通过主建来保证每条记录的唯一性,表的主键应当不具有任何业务含义,因为任何有业务含义的列都有改变的可能性。关系数据库学的最重要的一个理论就是:不要给关键字赋予任何业务意义。 在域模型中,类之间存在四种关系。 1、关联:类之间的应用关系。 如果类A与类B关联,那么被引用的类B将被定义为类A的属性。关联还可以分为单项关联和双向关联。 2、依赖:类之间的访问关系。 如果类A访问类B的属性或方法,或者类A负责实例化类B,那么可以说类A依赖类B. 3、聚集:整体与部分之间的关系。 4、继承

本文转自
http://www.cn-java.com/www1/?action-viewnews-itemid-3741

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值