《domain model的延伸讨论》 http://www.javaeye.com/topic/57075 robbin试图用两个例子来支撑其观点似乎太过牵强! 1. ruby的代码中是domain model直接包含了操作集合的代码,java的理念则不是如此。用来比较优劣是否妥当暂且不说,首要的问题在于:domain model理念是哪个?是允许一个对象包含自己的集合操作还是不可以? 我以为目前并没有定论。 退一万步说,就算是允许,那么java可以参照的同级别的语言是有些ADO.NET的C#(C#是可以和ruby在ActiveRecord可比的),java想做不难! 再次,允许是 ...
Interface play as Placeholder, without any class implement it Author:Anders小明 有个这个题目是在ApectJ的应用,以及博客园子中一个blog讨论什么时候用接口(一个很古老的话题)。 接口作为一种重要的抽象能力,重要意义在于: 模型上看:接口代表做什么,而实现表示怎么做! 在框架上:接口代表稳定,而实现代表多变! 在语言上:接口代表0,而实现代表1,通过对象类型消除if…else…。 (这段话我<<Domain Model:业务流程的进一步分析2>>提过 ...
园子的忘却之都发了一文,大意说是目前OOP感觉不太对,原文如下: http://www.cnblogs.com/gamix/archive/2006/11/26/572580.html 这里给些我的想法:除了实体对象,还有一类我称为流程对象的。 其实在现实中,新增Employee从来就不是HRUser可以决定和完成的,HRUser也只是发起一个新增Employee的流程。这个流程可能需要其它的系统的User来批复和支持。 在系统中,发起新增流传的动作,更常表现为HRUser可以通过web提交一个请求。当然这动作放在HRUser对象中,显的很奇怪。因为在现实中,也是HRUser填写个 ...
2006-11-24

再提面向对象分析与设计

关键字: 面向对象
(注:最早发在blog上,不过没有讨论,一个大概是我自己没有描述清楚,一个限于blog的形式吧。转到这里来看看) 先看下Booch对面向对象分析和设计的经典论述: OOP:面向对象编程是一种实现方法,程序被组织成对象的协作集合,每一个对象代表某个类的实例,对象的类是通过继承关系联合在一起的类层次中的所以成员。 OOD:面向对象设计是一种设计方法,它包含面向对象的分解过程,以及一种表示方法,用来描写设计中的系统的逻辑模型与物理模型,以及静态模型与动态模型。 OOA:面向对象分析是一种分析方法,它以可在问题域的词汇表中找到的类和对象的观点来审视需求。 经典是经典,不过总是不那么容易实践,我自 ...
FP不是一个什么全新的概念,在lisp等语言中被广泛应用,其设计方法向我们描绘了一个美好的世界,不过在OO的世界里应用却还是要费一些力气的。为了更好的应用FP,需要学习一下现有的实践。   一、回顾一下函数式编程的几个特性:1. 闭包计算和高阶函数。    函数本身是first class对象,闭包是起函数作用并可以像对象一样操作的。    高阶函数是可以接受一个函数为参数,并可以返回一个函数。      2. 延迟计算(lazy evaluation)    不是在函数绑定时计算,而是在求值时计算。 3. 递归的计算机制     4. 引用透明     同样的输入返回同样的结果,与上下文无关 ...
将两个模式放在一起是因为无论是role还是product: 不仅仅是体现了OO的SRC原则,当一部分逻辑够复杂时,就分离出去成为新层次。 而且在于,我认为在一些情况下,责任模式是合同模式的一个特例。 第一个是责任模式。 也许更应该陈作party模式。在这个章节中,详细讨论了party,hierachy,以及与party相关联的概念,包括address,责任。 在party模式中,一个party的责任是由他所在hierarchy和role构成的。 同时责任又被具体化为操作范围:由一些term(借用了合同一章中的term)或者一系列term组成的。 如同观测和测量模式一样,这些ter ...
将两个模式放在一起是因为他们有些共同之处。从行为上看他们都会在业务操作中额外记录一些数据,并且这些数据都和时间有关。 第一个是帐目模式。 一个常见的帐目的应用是:业务日志。如保险业务系统中对代理人的每一次信息变更,除更新主表外,都会在对应的日志表记录变化的属性,时间,以及变化类型(如是基本信息变更,还是职级变动,还是部门调动等)。 备用帐目的一个场景是:业务分析。如保险公司对于收到的每一笔保费,都会根据一定规则计算出相关代理人的佣金,新生成的帐目的due date就是该保费的发生日。 汇总帐目:业务分类统计。对帐目进行分类汇总。 第二个是观测和测量模式(第2,3章) 应用最广泛的是 ...
2006-06-11

《分析模式》笔记之分析手段

关键字: 面向对象
我以为分析模式一书的绪论是最重要的,因为它讨论了分析本身。 既然是分析模式,那么首先要弄清出什么是分析,目标和手段。 1.分析的目标是给出一个智力模型(mental model) 2.分析的原则是面向对象的建模原则 3.分析的手段是:显示的把模型分解为知识级和操作级(explicitly divide a model into operational and knowledge levels)。 并建立起两者的映射(第二章)。 martin说它是重要的建模原则,事实上在整个《分析模式》一书中,martin用它来分析讨论,因而我更愿意把它看做是工作方式。 同时,这是《分析模式》一书 ...
2006-05-31

面向对象之分析模式

关键字: 面向对象
面向对象,嗯,是个老话题了。 书店了关于面向对象对象的多不盛数,面向对象的框架一个又一个,更有大名鼑鼑的设计模式。。。 在看了无数本这样的书,并学习了无数的框架,同时在工作中广泛应用了的设计模式及其变种; 熟练的使用分层框架,而不是一个jsp包打天下; 熟练的使用抽象和多态,而不是难看的if...else; 小心翼翼的贯彻各个面向对象的原则,并写着大量的unittest, 开始沾沾自喜的也以为自己真的懂了面向对象。 但是,(如果没有但是。。。)随着工作越久发现自己的认识其实很浅。 自己所接触到,或者说是自己所体会,思考,以及应用的其实只是面向对象的实现技术部分, 而面向对象分 ...
yimlin
搜索本博客
最近加入圈子
存档
最新评论
  • NEWS: Microsoft DSL Tool ...
    这不就是Ruby,或者更确切的说,Groovy嘛
    -- by halfmile
  • 从EAI到SOA
    wwwtom 写道呵呵,前几天还看有人说 esb上架构SOA是有害的,今天就看见 ...
    -- by richmond
  • 从EAI到SOA
    呵呵,前几天还看有人说 esb上架构SOA是有害的,今天就看见有人跑出来说 “E ...
    -- by wwwtom
  • 从EAI到SOA
    现在的soa门槛太高 入门比较困难 要了解 soap wsdl 等乱七八糟的东东 ...
    -- by xly_971223
  • 从EAI到SOA
    很多人还以为SOA只是概念炒作,其实,国内外大多数主流厂商都已经推出SOA概念的 ...
    -- by JavaInActoin