zoukankan      html  css  js  c++  java
  • 2020春季学期第十周学习总结

           本周学习了与企业应用架构模式相关的一些知识,做企业应用开发需要了解一些企业应用开发基础知识,比如分层架构、WEB表现、业务逻辑、数据库映射、并发、会话、分布策略等等。通过使用场景、解决方案、UML等手段详细介绍了设计模式(包括一些常用的设计模式GOF23)。下面这些模式是干什么的、它们解决什么问题、它们是如何解决问题的。这样,如果你碰到类似的问题,就可以从中找到相应的模式。可以为你节约成本、缩短项目周期时间、避免风险,以确保项目能够完美的完成。

    1、三个基本层次:表现层、领域层、数据源层

    表现层

    提供服务,显示信息(例如在Windows或HTML页面中,处理用户请求(鼠标点击、键盘敲击等),HTTP请求,命令行调用,批处理API)

    领域层

    逻辑,系统中真正的核心

    数据源层

    与数据库,消息系统、事务管理器及其他软件包通信,关于依赖性的普遍性原则:领域层和数据源层绝对不要依赖于表现层。一旦选择了处理节点,接下来就应该尽可能使所有代码保持在单一进程内完成(可能是在同一个节点上,也可能拷贝在集群中的多个节点上)。除非不得已,否则不要把层次放在多个进程中完成。因为那样做不但损失性能,而且增加复杂性,因为必须增加类似下面的模式,如远程外观和数据传输对象。复杂性增压器:分布、显式多线程、范型差异、多平台开发以及极限性能要求(如每秒100个事务以上)。

    2、领域逻辑

    领域逻辑的组织可以分成三种主要模式:事务脚本、领域模型、表模块。

    三者之间的区别:

    事务脚本是一个过程来控制一系列动作逻辑的执行。领域模型不再是由一个过程来控制用户某动作的逻辑,而是由每一个对象都承担一部分相关逻辑。这些对象可以看成是领域的不同组成部分。表模块只有一个公共的合同类实例,而领域模型对数据库中每一个合同都有一个相应的合同类的实例。

    3、映射到关系数据库

    在使用领域模型的时候,它的读取应该把相关联的对象也一块读出来。例如,读取一个合同,应该把合同涉及到的产品和定购厂商的对象加载到内存中。由时候为了避免这些没有必要的连带读取,我们可以使用【延迟加载】模型。

    读取数据的时候,性能问题可能回变得比较突出。这就导致了几条经验法则。1)、尽可能一次查询多个记录,不要一次查询一个记录,然后进行多次查询。可以一次查询多条相关的记录,例如使用联合查询。或者使用多条SQL语句。2)避免多次进入数据库的方法是使用连接(Join),这样就可以通过一次返回多个表。可以制作一个入口,让入口完成相关数据的一次性读取。3)数据库中进行优化。DBA来优化数据库。 

  • 相关阅读:
    首页下拉广告代码
    索引 CREATE INDEX
    苏三起解 故事
    日期正则表达式
    除去非空字符串函数
    数据库什么是字段应该设置索引
    警务通
    动态生成缩略图
    超级实用且不花哨的js代码大全
    无线警务移动办公系统解决方案
  • 原文地址:https://www.cnblogs.com/lover995/p/12782661.html
Copyright © 2011-2022 走看看