随笔分类 - 09.架构设计
摘要:一、上篇回顾 我们先来回顾下上篇讲解的内容,我们前面的几节分别讲述了,业务逻辑层、数据访问层、服务层、表现层,我们了解了这些分层的职责和分层之间的大概的关联关系,本篇可能主要是简单的介绍下企业应用的几类模式,结合这几个分层直接的交互来完成系统功能的构建。我们还是先对我们学习的四个分层的职责和功能做个大概的回顾,我们先来看看下图来回顾下我们讲述的内容。 我想通过上图,大家能回忆起我们讲述的相关内容,...
阅读全文
摘要:一、上章回顾 上篇我们简单讲述了服务层架构模式中的几种,并且讲解了服务层的作用及相关的设计规范,其实我们应该知道,在业务逻辑层中使用领域模型中使用服务层才能发挥出最大的优势,如果说我们在业务逻辑层还是使用非领域模型的模式话,服务层的作用仅体现在解耦作用。其实在业务逻辑层采用领域模型时,我们前面说的持久化透明的技术,其实我们可以通过服务层来做,我们在服务层中处理领域对象信息的持久化操作。当然本篇可能...
阅读全文
摘要:一、上章回顾 上章我们主要讲述了系统设计规范与原则中的具体原则与规范及如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式。并且我们也讲述了该如何通过设计手段去分析功能点及设计分离点,应该如何在设计的过程中分析的角度及如何去满足设计规范与原则。首先我们通过下图来回顾下上章要点: ...
阅读全文
摘要:一、上章回顾 上篇我们主要讲解了系统架构中的四种架构模式,并且分析了四种架构模式的实现及应用场景,那么先来回顾下架构中的业务逻辑层的使用及总结。 如果大家对图中讲述的内容不明白或者说是不深入那么可以参考上篇讲解的内容:系统架构师-基础到企业应用架构-业务逻辑层。二、摘要 本文将已架构的方式去分析分层结构中的服务层的设计,如何设计出来满足我们说的业务需求及设计规范的服务层将是我们的目标,可能我想大...
阅读全文
摘要:一、前言 最近也许是由于假期的原因,我发布的文章的速度变慢了,对大家说下抱歉,这个系列的确我很难写,感谢大家对我的支持和关注,的确我在发布后得到大家的支持和认可,让我有了更多的动力,之前发布的有些内容,可能对各层讲解的内容的广度还不够,当然这和我个人的水平面有关,还请各位多多提出宝贵意见和建议。 从本篇开始,我将会采用更加规范的格式,更严谨的求知态度,更加准确的表达,去将接下来的系列文章写完,并且...
阅读全文
摘要:微软澳大利亚的解决方案架构师Tom Hollander,在TechEd Australia大会上举行了一场题为“敏捷团队中的架构师角色”的演讲。在演讲中,他讨论了他作为领导敏捷团队的架构师所做的工作。在谈到架构师的角色时,Hollander指的是“解决方案架构师”或者应用架构师。他不是指企业架构师或者其他的专业人士(专精于特定的领域,例如消息或基础设...
阅读全文
摘要:一、上章回顾 上章我们主要讲述了系统设计规范与原则中的具体原则与规范。如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式。具体的内容请看下图: 上图描述了软件设计的原则:低耦合,高内聚,并且简单说明了,如何实现这2个原则,通过分离关注点的方式。我们把功能称之为关注点。二、摘要 ...
阅读全文
摘要:一、上章回顾 在上篇中我们讲解了几类UML2.0语言新推出的建模图形,总体来说通过这些图形能更详细的将某类信息表达出来。在这里我们简单回顾上篇讲解的内容。 上图中已经简单介绍了上章讲述的内容,具体内容请看:系统架构师-基础到企业应用架构-系统建模[下篇]。二、摘要 本章将主要的简单介绍在系统架构中的设计模式及相应规范准则。并结合相应的代码来说明如何遵循系统架构中的一些基本的设计规范及准则。而我们将...
阅读全文
摘要:一、上章回顾 上一篇:系统架构师-基础到企业应用架构-系统建模[中篇](下) 中我们主要讲解了部署图、活动图,我们在这里也是参考上篇的形式,这里不再详细介绍。上篇主要讲解了下面2类建模图: 二、摘要 本文将讲解其他的几个类型的建模图当然只是简单的讲解,并且将结合B2C电子商城系统进行分析通过使用我们已经讲解的建模图为例。分析系统可划分的子功能模块,每个功能模块内部的运行步骤等等。 上面的2个不同...
阅读全文
摘要:一、上章回顾 首先、我们先来回顾下,上篇讲解的内容,加深下印象。上篇我们主要讲解了3个建模图形分别是:顺序图(序列图)、组件图、状态图。 具体功能描述如下图:这里不详细解释,如果不清楚请看:系统架构师-基础到企业应用架构-系统建模[中篇](上) 由于全部放在一篇中篇幅太长了,所以分开讲解。二、摘要 本文主要讲解:UML建模图中的活动图、部署图等 上图中就是本章要讲解的内容,本质将仔细的剖析,部署...
阅读全文
摘要:一、上章回顾 上篇文章主要简单的介绍了建模中使用的标准建模语言UML的相关内容,包括用例图与类图的使用方法及如何建模。相信大家对UML建模语言已经有了初步的认识,还请大家谨记UML不同的建模图形的用处。比如,用例图主要用来描述系统的功能需求。类图主要用来描述实体间的关系。谨记这些就可以帮助我们在系统架构的过程中深入的分析。 首先向大家道歉,上篇中有部分描述错误的地方,可能对大家造成一定的错误引导。...
阅读全文
摘要:一、摘要 本文主要从系统架构中的建模开始讲解,本文讲述的内容主要是我在工作和学习过程中的总结和经验,不足之处还请大家多多批评指出,有更好的建议也可以留言说明。本意主旨是为不熟悉系统架构建模过程和不知道如何使用建模工具,或者不熟悉如何根据需求去建立模型的角度出发,简单的阐述了在系统架构的过程中我们应该从什么样的角度出发去分析需求并且建立抽象模型。这应该说是架构师必备的技能。 本文由浅入深,本篇将简单...
阅读全文
摘要:什么是系统架构软件架构的起源 软件中的系统架构,其实是从建筑行业中的架构设计参考过来的,但是软件中的系统架构又有很大的特殊性。特殊性表现在,软件的架构可以在设计完毕后,项目进行的过程中进行相应的变化,或者可以推到重来,但是建筑行业中却不能这么做。软件行业有着很大的变化性。什么是架构架构总体来说就是实现需求功能的较复杂组件的设计与不能精简的较复杂组件。ISO与IEEE对系统架构的定义:一致认为软件密...
阅读全文
摘要:开篇说明 由于是自己对这些技术的学习总结和心得体会,错误之处在所难免,怀着技术交流的心态,现在发表出来,所以希望大家能够多多指点,这样能使一部分人受益同时也能纠正我的错误观点,以便和各位共同提高!软件架构到底是什么 软件架构可以被简单的描述为,一系列组件之间的组合,交互,继承的关系。当然这样的解释基本上人人都可以接收。不过在我们看来,这样的说法有点过于抽象。 软件架构有这标准的定义,就是参考ANS...
阅读全文
摘要:一般的需求,我们利用用例图就可以表达清楚了,如果再复杂些,我们可能还得再配合序列图、状态图等加于说明。但是,在非常复杂的业务逻辑中,怎么样才能找出它们的联系?而且还能更好地拥抱OO(面向对象),OO的优点不是我们本文的话题。这里笔者介绍一种很灵活很实用的分析方法--四色原型图,也叫彩色UML。(图片引自JDON的BANQ大师之手)四个元素的介绍:moment-interval :粉红色的时刻...
阅读全文
摘要:一.UML简史面向对象的分析与设计(OOA&D)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson(UML之父:三人)的表示方法,而且对其作了进一步的发展,并最终统一为业界所接受的标准建模语言。统一建模语言(UML)的出现公认的面向对象建模语言出现于70年代中期。从1989年到1994年,其数量从不到十种增加...
阅读全文
摘要:面向方面建模用模型驱动开发(MDD)的方法来简化面向方面的开发。这种面向方面建模的方法包括在设计时使用面向方面的关键字注释UML面向方面模型单元以用于访问横切关系。特殊目标环境的面向方面代码在从UML到目标转换(target transformation)时生成。文章的以下部分将引入用于MDD架构的面向对象设计,它为使用IBM® Rational® Software Archi...
阅读全文
摘要:类的可视化表示如果WashingMachine(洗衣机)类是Household Appliances(家用电器)包的一部分,那么这个类的名字为:Household Appliances::WashingMachine。包名在左,类名在右,中间用双冒号隔开。这种类型的类名叫:路径名(pathname)。 属性单字属性名小写。如果属性名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。...
阅读全文
摘要:面向对象是一个依赖于几个基本原则的思想库。对象是类的实例。类是具有相同属性和操作的一类对象集。继承是面向对象中的一个重要方面。对象继承了所属类的属性和操作。类同样也可以继承其他类的属性和操作。多态性是另一个重要的方面它是指不同的类中可以有相同名字的操作,并且这个操作在每个类中都能以各自不同的方式执行。对象对其他对象和外部世界隐藏了其操作的执行过程。每个对象都要提供一个让其他对象用来执行该对象中操作...
阅读全文
摘要:统一建模语言(Unified Modeling Language,UML)一些术语:系统(system)指的是硬件和软件的结合体,它能提供业务问题的解决方案。系统开发(system development)是为客户建立一个系统的过程。客户(client)是需要解决问题的人。系统分析员(analyst)将客户所要解决的问题编制成文档,并将该文档转交给开发人员。开发人员(developer)是为了及决...
阅读全文

浙公网安备 33010602011771号