摘要:
High level software design, also called software architecture is the first step to analyze and consider all requirements for a software and attempt to define a structure which is able to fullfill them.see alsohttp://www.the-software-experts.de/e_dta-sw-design-high-level.htm 阅读全文
随笔分类 - Design & Architecture
分层(Layers)
2012-03-02 16:47 by 康杜, 962 阅读, 收藏,
摘要:
在软件架构中,往往会涉及到分层这个概念。而每个架构师、开发人员心中,层的名称和含义也不相同。不仅仅是我们如此,就是业界的大师们也是如此。这不,在Martin Flower的《Patterns of Enterprise Application Architecture 》也列出这些不同分层。BrownCore J2EEMicrosoft DNAMarinescuNilssonPresentationClientPresentationPresentationConsumerController/mediatorPresentationBusinessApplicationConsumer he 阅读全文
POJO
2012-02-08 11:11 by 康杜, 192 阅读, 收藏,
摘要:
无意间看到Spring Source中各名家Rod Johnson, Eric Evens的留言 http://forum.springsource.org/showthread.php?18155-Session-Facade-Business-Facade 下次有人要跟我辩论说模型只能有getter/setter时,我就拿Rod的原话说“POJOs, like all objects, a... 阅读全文
Integration rules
2012-01-18 15:43 by 康杜, 343 阅读, 收藏,
摘要:
Degisted from http://static.springsource.org/spring-integration/docs/2.0.0.RC1/reference/html/overview.html It states “Spring Integration is guided by the following principles: 1. Components sh... 阅读全文
依赖于自己做计算
2012-01-17 11:01 by 康杜, 198 阅读, 收藏,
摘要:
面向对象设计范式(Object Oriented Design Paradigm)让我们更容易地抽象现实世界的对象,更容易地分析业务。但是,计算机对象不仅仅是现实世界中对象的简单映射。比如针对司机开车(Drivers drive cars)这个场景,在现实世界中开车(drive)是司机的行为,但是在计算机对象世界中, 为了高内聚(High Cohesion),如果Car拥有drive这样行为的所有... 阅读全文
软件架构(读书笔记2)
2012-01-16 09:11 by 康杜, 195 阅读, 收藏,
摘要:
架构关键要素 (Architectual Properties fo Key Interest ) 一个软件的架构不可能全部满足以下的架构性质,比如可移植的软件架构可能不必单一平台上架构的软件系统性能更好,但是我们可以通过列举系统的架构性质能够评估我们系统架构的属性(Properties)。 通常,我们可以做一个矩阵,对每项特质根据实际情况,用符号+、-,+/-表示系统的架构属性。如下图... 阅读全文
软件架构(读书笔记1)
2012-01-13 16:37 by 康杜, 256 阅读, 收藏,
摘要:
Roy Thomas Fielding在他的那篇著名的博士论文<Architectual Styles and the Design of Network-based Software Architectures>中写道’In spite of the interest in software architecture as a field of research, there is little agreement among researchers as to what exactly should be included in the definition of archit 阅读全文
关于重用
2012-01-11 10:23 by 康杜, 272 阅读, 收藏,
摘要:
重用的目的是DRY(Don't repeat yourself) 最大级别的重用是系统的重用,然后是Bundle的重用,再是包的重用,最后是类级别的重用。 所以我们构建系统的时候,应该着重考虑系统可不可以被重用(比如单点登录SSO服务系统, 全文查询服务系统),然后考虑在一个系统里面Bundle能不能重用(让我们的系统模块能够相对独立,让以后的系统维护、升级能够相互不受影响),再是包的重用... 阅读全文
关于系统分层的自问自答
2012-01-06 11:46 by 康杜, 403 阅读, 收藏,
摘要:
这是我对系统架构中分层的自问自答,也是我对系统分层的理解。 Q. 为什么要系统分层(Why layered system architecture) A. 系统分层不是软件系统才有,比如计算机网络中就由OSI 7层网络模型。 在所有的系统组件中,每个组件的关注点是不一样,相互的依赖程度不一样,变化的频率也是不一样的。比如,有些组件关注通讯、事务、安全(当然这些都被做成中间件产品了,比如We... 阅读全文
浙公网安备 33010602011771号