架构设计
luoxinwu123
这个作者很懒,什么都没留下…
展开
-
企业应用架构模式之工作单元模式
工作单元模式是一种对象-关系行为模式。其定义如下:维护受业务影响的对象列表,并协调变化和并发问题的解决。 该模式主要考虑的问题是:数据库的数据读入内存后的数据对象,被改变后在什么时机提交。一般而言,可以有两种提交方式,即时提交和择机提交。 (1)即时提交:当对象改变的时候马上提交到数据库。这样的好处是不需要维护一个受影响对象的列表,但是会导致数据库的连接操作过多,影响性能。而且,它原创 2012-10-06 13:44:20 · 5707 阅读 · 3 评论 -
面向对象—抽象
面向对象分析与设计的主要任务是,找出类和对象,构建对象模型。 对象模型的主要要素:抽象、封装、模块化与层次结构。 对象模型的次要要素:类型、并发、持久。 抽象描述了一个对象的基本特征,可以将这个对象与所有其他类型的对象区分开来,因此提供了清晰定义的概念边界,它与观察者的角度有关。 抽象关注一个对象的外部视图,用来分离对象的基本行为和实现。我们可以理解为抽象关注接口,即可观察到的原创 2012-12-28 09:42:42 · 8011 阅读 · 0 评论 -
软件系统的复杂性
软件系统的本质是复杂的,开发团队的任务就是制造出简单的假象。 软件的复杂性是其根本特征,原因在于: 问题域的复杂性:软件系统一般都是处理逻辑或业务规则比较复杂的问题。 管理开发过程的困难性:不存在标准的流程,且现有的各种流程都只适合特定的团队、项目或者产品。 软件实现的灵活性:软件的实现是没有标准的,即便存在一些所谓的原则(如面向对象设计原则),这些原则也可以在进度或特定限制下妥协原创 2012-12-27 09:29:44 · 6085 阅读 · 0 评论 -
体系架构风格与模式
Garlan和Shaw对通用体系结构风格的分类: 数据流风格:批处理序列;管道/过滤器 调用/返回风格:主程序/子程序;面向对象风格;层次结构 独立构件风格:进程通讯;事件系统 虚拟机风格:解释器;基于规则的系统 仓库风格:数据库系统;超文本系统;黑板系统 每一大类风格中会包含许多子风格,这些子风格有时候也被称之为架构模式。这些风格并不是彼此孤立,互相对立的,而是相互联系的。做设原创 2012-12-25 20:33:30 · 2027 阅读 · 0 评论 -
软件架构的艺术
1,架构与架构师 1.1 架构 架构这个词来源于建筑学。建筑学中把架构定义为:人们对一个结果内的元素及元素之间的关系的一种主观映射和各种技术的实现。同时,建筑学中也认为,架构最主要的是指系统架构,而系统架构的主要任务是界定系统级的功能和非功能需求、规划并设计实现系统级的各项要求,用时利用各种科学技术来实现各个子系统的结构构建。 由此引申而来,一般认为软件架构是有关软件整体结构与组件的抽象描述原创 2012-09-21 09:19:58 · 3180 阅读 · 3 评论 -
企业应用架构模式之对象-关系结构模式
前面已经介绍了对象--关系行为模式,包括工作单元、标识映射、延迟加载,这些都是协调内存对象与关系数据库之间行为操作的一些方法。内存对象与关系数据库除了行为需要协调之外,在结构上也需要一些方法来保证彼此的完整,这就是对象-关系结构模式。这些方法主要有:标识域、外键映射、关联表映射、依赖映射、嵌入值、序列化大对象、单表继承、类表继承。具体表继承。 (1)标识域:为了在内存对象和数据库之间维护标原创 2012-10-21 15:54:30 · 1549 阅读 · 0 评论 -
企业应用架构模式之对象-关系元数据映射模式
对象-关系元数据映射模式是用来描述数据库中域是如何对应到内存对象中的域的,它包括元数据映射、查询对象、资源库三种模式。 元数据映射:在元数据中保持对象-关系映射的详细信息 该模式最主要的决策是如何根据运行代码来表示元数据中的信息。解决方案有两种方法:代码生成和反射编程。 代码生成方法需要写一个程序,输入的是元数据,输出是映射实现类的源代码,这些类是在在编译前的构建流程生成的。产生的映射器原创 2012-10-29 09:08:26 · 2514 阅读 · 1 评论 -
企业应用架构模式之Web表现模式
(1)MVC:把用户界面交互分拆到不同的三种角色模型、视图、与控制器上。 模型表示领域信息对象;视图表示UI中模型的显示;控制器获得用户输入,对模型进行操作并更新视图。 MVC关注两个分离:从模型中分离表现和从视图中分离控制器。 (2)页面控制器:在Web站点上为特定页面或者动作处理请求的对象。 页面控制器在Web站点上为每一个逻辑页面都准备了一个输入控制器。这个输入控制器可能是页面本原创 2012-10-29 09:38:13 · 1117 阅读 · 0 评论 -
企业应用架构模式之领域逻辑模式
一般的,企业架构过程从领域层开始的,一些经典的领域逻辑方法也就被称之为领域逻辑模式。主要有:事务脚本、领域模型、表模块。选择依据实际领域逻辑的复杂性,事务脚本是最简单的,而领域模型则比较复杂。 (1)事务脚本:使用过程来组织业务逻辑,每个过程处理来自表现层的单个请求。 将事务脚本组织成类,并与处理表现层与数据源层的类相分离,可应用命令模式来管理事务脚本类。 该模式简单,但有冗余,尤其是领原创 2012-10-12 11:33:55 · 4498 阅读 · 1 评论 -
企业应用架构模式之数据源模式
一旦选择了领域层(见领域逻辑架构模式),就必须决定如何与数据源相联系,这时候的选择是以领域层的选择为基础的。一般里说有以下4种方法:表数据入口、行数据入口、活动记录、数据映射器。称之为数据源架构模式。 (1)表数据入口:充当数据库表访问入口的对象;一个实例处理表中所有的行。 表数据入口包含了用于访问单个表或视图的所有SQL,如选择、插入、更新、删除等。其他代码调用它的方法来实现所有与数据库的操原创 2012-10-13 17:07:59 · 2519 阅读 · 0 评论 -
单例模式的讨论
单例相对于静态变量的优势: (1),可以支持延迟加载 (2),可以支持多态 最简单的单例模式 public class Singleton { private static final Singleton instance = new Singleton(); private Singleton() { } public原创 2012-09-24 08:50:33 · 996 阅读 · 1 评论 -
设计模式概括
Abstract Factory:提供一个创建一系列相关或相互依赖 对象的接口,而无需指定他们具体的类 Adapter:将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 Bridge:将抽象部分与它的实现部分分离,使他们都可以独立变化 Builder:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不翻译 2012-09-21 09:16:50 · 737 阅读 · 0 评论 -
企业应用架构模式之延迟加载
延迟加载也是一种对象-关系行为模式,其定义如下:一个对象,它虽然不包含所需要的所有数据,但是知道如何去获取这些数据。 当一个对象的状态,需要从外部获得时,系统就需要从外部(包括数据库,文件系统,网络)加载数据。这时候,要考虑加载一个对象时需要从数据库(或文件)读取多少数据以及数据库调用的次数。这两个方面,前者涉及内存后者涉及速度,都是至关重要的系统性能参数。因此设计者需要原创 2012-10-08 17:01:28 · 2004 阅读 · 2 评论 -
企业应用架构模式之标识映射
标识映射也是一种对象-关系行为模式,其定义如下:通过在映射中保存已加载的对象,确保每个对象只加载一次;当要访问他们的时候,通过映射来查找它们。标识映射的主要目的是保持一致性,而不是提高性能。 一般而言,为了达到确保每个对象只加载一次的目的,可以引入对象池来保存已加载的对象。当客户端需要使用对象时,先根据映射键在对象池中查找,如果对象池中没有,就从数据库里加载。原创 2012-10-07 17:39:46 · 1996 阅读 · 0 评论 -
一些设计模式的比较
设计模式的基本概念是比较容易懂的(见设计模式概括),但运用起来就比较复杂。尤其是,很多设计模式的UML图看上去长得差不多。这里对一些比较像的设计模式作对比,找出异同点。 策略模式与状态模式 可以通过环境类状态的个数来决定是使用策略模式还是状态模式。 策略模式的环境类自己选择一个具体策略类,具体策略类无须关心环境类; 而状态模式的环境类由于外在因素需要放进一个具体状态中,以便通过其方原创 2013-08-07 09:47:05 · 950 阅读 · 0 评论