摘要:
序列图的主要目的:展示对象间交互的顺序。详细介绍可以参考上一篇文章,序列图是一个二维图。纵向是时间轴,时间沿着竖线向下延伸,横向轴代表了在协作中各个独立对象的类元角色,也称作生命线,当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。举例:1、生命线生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实例。2、同步消息发送人在它继续之前,将等待同步消息响应。3、异步消息在发送方继续之前,无需等待响应的消息。4、注释5、约束约束的符号很简单,中括号包括约束内容:[Boolean Test]6、组合片段组合片段用来解决交互执行的条件及方式,它允 阅读全文
摘要:
在DDD领域构架系统中,为了将领域模型从领域逻辑层中和数据映射层之间解耦出来,我们引用到了Repository模式,属于属于泛型编程中一个比较常用的模式,尤其应用到MVC构架中更为常见,我们来简单的介绍几个概念:1、在《领域驱动设计:软件核心复杂性应对之道》,将Repository翻译为仓储,说明为:一种用来封装存储,读取和查找行为的机制,它模拟了一个对象集合。2、在《企业构架模式》中,译者对其翻译为:资源库,说明如下:通过用来访问领域对象的一个类似集合的接口,在领域与数据映射层之间进行协调下面通过一个案例才详细说明该解耦过程一、新建应用程序,添加Linq To Sql,新建两个领域模型,用. 阅读全文
摘要:
用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,一般生成于需求分析的时候,通俗理解用例就是软件的功能模块,所以设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的协作调用关系,用例图包含了用例和参与者,用例之间来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。 用例是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段服务。从原则上来讲,用例之间都是独立、并列的,他们之间并不存在包含从属关系。但是为了体现一. 阅读全文
摘要:
应用系统设计应该遵循一些的设计的基本原则,其实这些思想也是源于GOF的设计模式的总结,在创建一个低成本,高可用、高扩展性、低耦高内聚的应用程序,我们需要遵循的一套规范性的东西,简称SOLID,SOLID由可分为以下几点:1、Single Responsibility Principle(单一职责原则)2、Open Close Principle(开-闭原则)3、Liskov Substitution Principle(里氏代换原则)4、Interface Segregation Principle(接口分离原则)5、Dependency Inversion Principle(依赖反转原则. 阅读全文
摘要:
结合webcast中老师的讲解,现在把基础语法应用通过几个案例应用如下:一、维度的概念上图中一个维度(Dimension):Region改为度下有四个级别(Levels):country、province、city、county,他们属于层次集合(Hierarchy)通过维度和级别我们可以定义一个元素(Member)如:Levels(1).members(2)=chinaLevels(2).members(3)=shanghai二、维度建模上图中时一个维度建立的模型(cube)该图中包含四个维度(Dimension):时间、源、路线、度量方式值(Measure)源维度中包含两个级别:东半球、西 阅读全文
摘要:
Mdx为MultiDimensional Expressions的缩写,多维表达式,是标准的OLAP查询语言。在多数OLAPServer都提供Mdx支持,如Microsoft Sql Server OLAP Services,SAS,Hyperion Essbase等。支持多维对象于数据定义和操作。... 阅读全文
摘要:
在Bi领域,cube是一个非常重要的概念,是多维立方体的简称,主要是用于支持联机分析应用(OLAP),为企业决策提供支持。Cube就像一个坐标系,每一个Dimension代表一个坐标系,要想得到一个一个点,就必须在每一个坐标轴上取得一个值,而这个点就是Cube中的Cell。如下图,在webcast上截了图:Cube是联机分析的关键。他们是一种多维结构,包含原始事实数据、聚合数据,这些数据聚合允许用户快速进行复杂的查询,Mdx语言就应用它更是如鱼得水。Cube包含两个基本概念:维度和度量维度(Dimension):维度提供了分类描述,表示一类分析角度,用户通过维度分析度量数据。比如上图中的三个. 阅读全文
摘要:
延迟加载(lazy load)也成为懒加载,基本用于ORM中数据对象的一种默认加载方式,简单点讲延迟加载机制是为了避免无所谓的性能开销而提出来的,所谓延迟加载就是当真正需要数据的时候,才真正的执行数据加载操作。可以简单的理解为,只有使用的时候,才会实例化对象。 最大的有点就是能够大大的提高系统的性能。 通过一个案例来讲解,举一个很大众的应用场景,在大多的B2C应用中会设计到到用户开店的情况,这样我们就设计一个会员表,一个店铺表,当然一个会员可以开很多歌店铺,也就是说这里面一对多的映射。看一下类图:两个实体类,聚合关系,下面看一下第一种代码结构:using System;using Syste. 阅读全文
摘要:
ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性,原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)。 原子性(atomicity) 原子性意味着数据库中的事务执行是作为原子,及不可再分,简单一句话:要么执行,要么不执行。 在SQL Server中,每一个单独的语句都可以看做是默认包含的一个事务之中:所以,每一个语句本身具有原子性,要么全部执行,要么全部不执行,不会有中间状态: 上面说了,每一条T-SQL语句都可以看做是默认包裹在一个事务之中的,SQL Server对. 阅读全文
摘要:
序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。和类图配合使用,关注于不同业务对象之间的交互性,所以在对于交流当前业务如何进行很有用。除记录组织的当前事件外,一个业务级别的序列图能被当作一个需求文件使用,更能体现出一个未来系统的传递需求。在项目的需求阶段,分析师能通过提供一个更加正式层次的表达,把用例带到下一个层次,而且表述出用例之间的业务逻辑关系。在这种情况下,用例常常被细分为一个或者更多的序列图。 组织的技术人员发现,序列图在记录一个未来系统的行为应该如何表现中,非常有用。在设计阶段,架构师和开发者能使用该图挖掘出系统对象间的交互,这样充实整个系统设计。 序列图的主要用途. 阅读全文