关闭

关于架构的思考

     作者: Anders小明   一、             架构是什么通常关于架构的第一个问题是架构是什么,很自然也很正常,本文也不能免俗。然而关于这个问题却没有一致性答案,同时也要注意到不同应用的架构实质上存在不同差异性。(一) 架构的定义架构,虽然人们一直在讨论它,甚至于每天都在同其工作,然而这个词并没有一个被业界广泛认可的定义。大致而言,架构的定义分为三类:...
阅读(1219) 评论(0)

如何定义和建立架构

任何系统都有架构,无论多小的系统都有,区别在于其架构是否是经过明确设计并表达。一个合理的架构无疑是经过精心设计和维护的,如何定义和建立架构,本文分享一些实践和思考,希望能抛砖引玉。...
阅读(6449) 评论(10)

企业应用下的业务组件开发实践

作者:  Anders小明 什么是企业应用下的业务组件首先,这是一个组件,这意味着它需要在容器里运行,因此不包括任何中间件服务,同时以一定结构(文件结构或者压缩格式)组成,被容器识别;其次,这是一个业务组件,即提供的是应用服务,而非技术服务;第三,这是企业应用,在业务上包括功能和服务(Service,当前最时髦的说法,你可以理解为API),技术上(以J2EE来讲)包括:UI资源(JSF、J...
阅读(1473) 评论(1)

浅谈领域驱动设计

作者:anders小明2009年5月7日  需求背景现在的样子如PoEAA中提到的:事务脚本(Transaction Script)和表模型(Table Moduel)模式。存在问题事务脚本看到的是零散的数据,而表模型混合了下文要说领域模型和领域服务界限。1.     两者都导致了分析和设计的割裂,领域模型只存在于分析中;数据间的内在关系无法通过代码体现;2.   ...
阅读(1225) 评论(1)

浅谈基础平台

作者:Anders小明2009年5月5日  一、什么是基础平台基础平台对应于业务应用,主要处理技术问题,是为业务应用提供技术支撑以及技术方案的模块或者组件。其目的是使得应用组件可只关注于业务逻辑,而不考虑或者少考虑技术问题。基础平台通常包括如下:基础功能,开发类库,开发模式以及开发部署工具。 二、为何要基础平台应用系统的设计可以说是将一个业务语言翻译成程序语言的过程,这...
阅读(955) 评论(0)

浅谈企业应用架构(二)

五、架构的技术层面(一)基础手段提高开发效率和品质的基本手段是分解——即充分的分离系统中不同的关注点,好处不用说了,可以并发的工作,每个人面对的问题都简单而容易操作。而与分解对应的集成,只有提供了好的集成能力,分解才成为现实,而只有分解了,才能清晰的提供业务更多适应性。分解和集成的手段分为编程语言和技术框架两个层面。所谓语言就是强框架,而框架就是弱语言。A. 开发语言现代面...
阅读(1267) 评论(0)

浅谈企业应用架构(一)

作者:Anders小明2009年5月5日  一、什么是架构在牛津高阶词典(第7版)中,架构(architecture)一词的解释是:the design an structure of a computer system,而架构师(architect)一词的解释是:a person who is responsible for planning or creating an idea, a...
阅读(1134) 评论(0)

AOSD的实践冲动:Use Case的实现

 Author:Anders小明目前采用是面向对象设计方法,设计的粒度分为两级:类和方法(属性),类似于数据库设计的表和字段;在现有实现体系下,一个方法内部将包容多个Use Case;同时因为Use Case本身的横向扩展,也会导致一个Use Case将关联到多个方法;这是一个多对多的关系,为我们的开发管理带来巨大的成本。为了有效管理Use Case及其实现映射,AOP技术成为一个好的...
阅读(2447) 评论(1)

业务流程的层次和内容

Author:Anders小明(2008-1-12更新)业务流程依据不同层次分为3个0. 领域流程领域流程即领域对象生命周期,是流程中的核心;1. 工作流程工作流是处理多人协同工作,三权分立的过程;该过程是建立在领域对象生命周期上;生命周期的不同状态在工作流中都有映射;工作流处理的是领域中Request对象的生命周期;2. 页面流程页面流是处理工作中一个工作请求的分步申请;该过程建立在...
阅读(3455) 评论(0)

Domain Model的三种类型及其级别

Author: Anders小明(2008-1-12更新)从以上的分析中,我们可以了解到Domain Model分为三种类型:0. 全局常量对象1. 长生命周期业务对象(类似保单对象);2. 交易过程的Transaction对象,几乎没有生命周期的;3. Request/Response对象。这类对象以前没有识别的,通常和VO混在一起;但是在IAA中以及电信业的模型是这类对象是独立存在...
阅读(3186) 评论(0)

小议领域模型(Domain Model)补充以及更新

Author: Anders小明为何要Domain Model传统的开发方式:基于数据库的设计开发。数据库提供的设计模型是表和字段两种粒度,这两种粒度有时并不合适于系统设计:1. 模型的结构化能力1.1. 同一模块组件下的设计优势;一个model可以来自多张表的数据聚合而成,一张表可以聚合多个Model;一个逻辑是由几个固定字段或者非固定字段聚合;Model间的关联关系也是使用表无法展示的(外键的...
阅读(2739) 评论(0)

基于业务模块组件的系统架构

 Author:Anders小明以前写过一篇《基于抽象的分层结构》,这里补充一篇《基于业务模块组件的系统架构》一些内容在《项目笔记:dao,web,模块边界以及Model分类》以及《模块的接口设计》随笔中已经提到,这里补充总结一下。任何一个有一定规模系统,通常会把系统做一定分解降低分析设计开发的难度,模块划分是一个比较常见的方式。而在模块的划分及其分析设计的实践中,包括了两种层次的边界。第一是...
阅读(1837) 评论(0)

软件架构乱弹——问题域及其解决方法

作者:Anders小明(2007.12.14日补充更新了部分内容,其中有关Web网站性能特点部分内容来自网络) 一、什么是架构1. 和架构相关的几个问题域架构需要解决的非业务问题域包括如下:A 系统目标:系统性能,稳定性.B.项目目标:开发成本,质量C.项目过程:需求的不确定性和开发过程的团队协作性不同的问题域,解决之道也不相同!而同一问题域的不同层次的要求,解决之...
阅读(2755) 评论(0)

软件工程中的经济行为与软件架构师的工作

Author:Anders小明软件工程中的经济行为1. 在传统财务概念下,软件公司或者商业公司IT部门的员工,是公司的成本中心。对于一个定额合同项目,员工工资成为项目中唯一的可变成本。2. 因此,尽可能的缩短工期,减少人员投入就成为缩减成本的基本方式。3. 软件的分工模式,以及传统的waterfall——流水线的工作方式,决定了问题发现的越早,修正的成本越低。4. 有两种手段来减少工期,工程上...
阅读(2344) 评论(0)

Web框架比较

Blog好久没有更新了, 最近一直忙于一个新项目,在这个项目中尝试很多新的做法,准备收集一下放上blog来,这里先放一篇关于Web框架的,基本是老调重谈了. 该文写于4月,主要是为了和朋友讨论问题,有些地方可能不正确   Str...
阅读(2930) 评论(0)

AspectJ应用--软件产品化的新方法

 Author: Anders小明产品化和客户化两个词语是一个对孪生兄弟,一个没有强大客户化能力的软件是不能称为产品化的软件.产品化也就意味着软件公司的开发至少分为两个不同性质的角色:一个负责产品化,一个负责客户化.除去传统的参数化, 继承以及plugin技术外,aspectJ为我们提供另一种能力.如前所述, 公司有两个不同角色的团队在开发和维护—研发组和项目组,更进一步,本文所说适应...
阅读(3264) 评论(0)

Interface plays as Placeholder, without any class implement it

Interface play as Placeholder, without any class implement itAuthor:Anders小明有个这个题目是在ApectJ的应用,以及博客园子中一个blog讨论什么时候用接口(一个很古老的话题)。接口作为一种重要的抽象能力,重要意义在于:模型上看:接口代表做什么,而实现表示怎么做!在框架上:接口代表稳定,而实现代表多变!在语言上:接口代...
阅读(2019) 评论(0)

[转贴]做好个人时间管理

新的一年做的最有意义的第一件事就是学习了“时间管理”。之所以想起来学习一下时间管理,是因为在过去的一年中自己迷失了目标,浪费了许多的好时光;因此痛定思痛,决定在这一年中利用好所有自己的时间,实现自己年度目标。 一、  为什么要进行时间管理?时间是财富!想想吧,如果你每天都收到86400美元,而要求你每天必须把它用完,那你会如何运用?天下真有如此的好事?事实上,有。那就是时间。我们每个人每天都有...
阅读(1753) 评论(0)

基于抽象的分层结构

基于抽象的分层结构Author:Anders小明(2008-1-8更新)前言:现有已知的分层结构基本上是基于技术结构的,无论是SpringSide(早的还有AppFuse)还是DDD提出的分层结构,都是基于职责角色划分的。然而对于复杂的企业应用系统来说,仅仅以该纬度来划分,是无法完成逻辑的分解的。我们还需要基于抽象的分层纬度。基于抽象的分层结构众所周知:抽象是有排列的。进一步,在企业应用中,抽象的...
阅读(2672) 评论(0)

业务行为的分析和设计

业务行为的分析和设计       Author:Anders小明       同步自:http://www.blogjava.net/AndersLin/archive/2006/12/23/89648.html         复杂业务行为通常看作是复杂规则与流程的集合。解决的基本方法依赖基本的思考方式:分解结构。分解的第一要素是:面向对象——内聚。通常面向对象理论会告诉我们设计的设计原...
阅读(1624) 评论(0)
69条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:154515次
    • 积分:2356
    • 等级:
    • 排名:第16455名
    • 原创:60篇
    • 转载:9篇
    • 译文:0篇
    • 评论:39条