“软件设计”文章列表
序列图主要用于展示对象之间交互的顺序。 序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。 消息用从一个对象的生命线到另一个对象...
用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下: 1.参与者(Actor) 表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人...
在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalization) 【泛化关系】:是...
引言 本文主要是参考Martion Fowler所著的《企业应用架构模式》与Eric Evans所著的《领域驱动设计》这两本泰山之作,加上本人在近年实际的工作过程中开发SOA系统所认识到的问题所写的一篇文章,欢迎各位点评。 最后两节 细说应用层 、系统总体架构是本文的重点,着重说明领域驱动设...
本文内容提要: 1.领域驱动设计之领域模型 2.为什么建立一个领域模型是重要的 3.领域通用语言(Ubiquitous Language) 4.将领域模型转换为代码实现的最佳实践 5.领域建模时思考问题的角度 6.领域驱动设计的标准分层架构 7.领域驱动设计过程中使用的模式 ...
软件系统面向对象的设计思想可谓历史悠久,20世纪70年代的Smalltalk可以说是面向对象语言的经典,直到今天我们依然将这门语言视为面向对象语言的基础。随着编程语言和技术的发展,各种语言特性层出不穷,面向对象是大部分语言的一个基本特性,像C++、Java、C#这样的静态语言,Ruby、Pyth...
目录背景知识用例图类图序列图状态图活动图组件图部署图结束语 英文原文:UML basics: An introduction to the Unified Modeling Language 到了21世纪——准确地说是2003年,UML已经获得了业界的认同。在我所见过的专业人员的简历中,75%都...
在上一篇文章《.NET应用框架架构设计实践 - 概述》的评论部分,有网友提出了一个在面向领域驱动架构的实践中比较常见的问题:“DDD使用聚合根访问,那例如那些通用查询如何实现?难道都要经过聚合根多步得到么?DDD如何实现关联表的查询,例如3表关联查询?”这个问题比较泛,涉及的内容也比较多,我就单...
我研究领域驱动设计已经近4年时间了,在这4年里,我从了解领域驱动设计的基本思想开始,系统地学习了与领域驱动设计相关的概念、开发模式以及应用系统架构风格,并将其运用在了实际的项目架构与开发中。在此之前,我一直被一些应用程序架构设计上的问题所困扰,比如:在数据持久层,如何让数据持久化机制能够支持不同...
好久没有写文章了,最近比较忙,另一方面也是感觉自己在这方面没什么实质性的突破。但是今天终于感觉自己小有所成,有些可以值得和大家分享的东西,并且完成了两个可以表达自己想法的Demo。因此,趁现在有点时间,是写文章和大家分享的时候了。 首先给出这两个Demo的源代码的压缩包的下载地址,因为之前有博...
Bob大叔和Simon Brown关于描述系统架构时基础架构(infrastructure)所起的作用展开了讨论。 在之前标题为 《尖叫的架构(Screaming Architecture)》的文章中,Robert Martin(也就是Bob大叔)阐述了这样的观点:软件产品的架构应该让所有人都...
在Brooks的最新力作《设计原本(The Design of Design)》一书中,提及“一致性”对软件的重要性。他认为:“一致性应该是所有质量原则的根基。好的架......
接缝(seam)是Michael C. Feathers提出的概念。Feathers在Working Effectively with Legacy Code一书中对接缝的定义如下:
接缝,顾名思义,就是指程序中的一些......
William Vambenepe的最新文章,AJAX + REST是最新的架构妄想,让我们回想起了一个具有15年历史的架构,它曾被寄期望对Web产生革命性的影响。
在该架构里,Web......
Whats API?
API的全称是application programming interface。
而很多时候,程序开发者仅仅把函数、类的接口做为API的一部分,而忽略了其他重要的编程接口。
......
1.1 Web server
Web server 用来解析HTTP协议。当web服务器接收到一个HTTP请求时,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求,web服务器可以......
作者 Bruce Laidlaw and Michael Poulin 译者 侯伯薇
软件产业目前的状态很混乱,开发成本越来越高,质量却越来越差。云计算所给出的承诺和具体实现还有相当大......
我一直强调对象是自治的,这意味着它应该拥有能表达自身对象特性的数据与行为,对自己的数据与状态负责,对于该数据而言,对象是自给自足的。对象的自治体现了OO最......
在谈这个之前,还得再说下SOA和平台。SOA做两件事情,一个是解耦并识别可重用的服务,一个是对服务进行灵活组装和编排满足业务需求,SOA核心是业务和技术的解耦,服......
最近看了下《架构之美这本书》,摘录了部分书中的内容,在摘录书里面内容前先谈谈我自己对架构的看法。架构应该包括了功能性架构和非功能性架构两个方面的内容。我们......