`
yimlin
  • 浏览: 137102 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论
文章列表
为什么这么说呢?这样说是有理由的: 先来看看Java世界中看看最近新热的groovy,以及早已名声在外的aspectj,无一不是通过编译器支持新的语法结构:一个提供了全新动态语言,一个支持面向方面扩展语法。 而MS世界里,且按下各个动态语言的CLR实现不表,就单看C#语法本身,其delegate,partial等都是利用编译器来完成处理的。 想想也是: VM的更新工程浩大且影响面广,而在编译器中动手脚简直是低风险高收益的买卖,何乐而不为。 而手握像antlr这样一神兵利器更是如虎添翼。 那么下一个带来惊喜将会是什么?DSL还是其它?
Author: Anders小明          任何一个有一定规模系统,通常会把系统做一定分解降低分析设计开发的难度,模块划分是一个比较常见的方式。        而在模块的划分,及其分析设计的实践中,模块和模块的交互接口最为重 ...
《domain model的延伸讨论》 http://www.iteye.com/topic/57075 robbin试图用两个例子来支撑其观点似乎太过牵强! 1. ruby的代码中是domain model直接包含了操作集合的代码,java的理念则不是如此。用来比较优劣是否妥当暂且不说,首要的问题在 ...
Author: Anders小明产品化和客户化两个词语是一个对孪生兄弟,一个没有强大客户化能力的软件是不能称为产品化的软件.产品化也就意味着软件公司的开发至少分为两个不同性质的角色:一个负责产品化,一个负责客户化.除去传统的参 ...
Interface play as Placeholder, without any class implement it Author:Anders小明 有个这个题目是在ApectJ的应用,以及博客园子中一个blog讨论什么时候用接口(一个很古老的话题)。 接口作为一种重要的抽象能力,重要意义在于: 模型上看:接口代表做什么,而实现表示怎么做! 在框架上:接口代表稳定,而实现代表多变! 在语言上:接口代表0,而实现代表1,通过对象类型消除if…else…。 (这段话我<<Domain Model:业务流程的进一步分析2>>提过) 既然是应用开发,模型角度看根据现实意义, ...
新的一年做的最有意义的第一件事就是学习了“时间管理”。之所以想起来学习一下时间管理,是因为在过去的一年中自己迷失了目标,浪费了许多的好时光;因此痛定思痛,决定在这一年中利用好所有自己的时间,实现自己年度目标。 一、  为什么要进行时间管理? 时间是财富!想想吧,如果你每天都收到86400美元,而要求你每天必须把它用完,那你会如何运用?天下真有如此的好事?事实上,有。那就是时间。我们每个人每天都有86400秒进帐,合理的利用他们,你就可以创造财富,爱情,成功,健康等。人生最宝贵的两项资产,一项是头脑,一项是时间。无论你做什么事情,即使不用脑子,也要花费时间。因此,管理时间的水平高低,会决定你事业 ...
基于抽象的分层结构Author:Anders小明 (2008-1-8更新)前言:现有已知的分层结构基本上是基于技术结构的,无论是SpringSide(早的还有AppFuse)还是DDD提出的分层结构,都是基于职责角色划分的。然而对于复杂的企业应用系统来说 ...
业务行为的分析和设计       Author:Anders小明              复杂业务行为通常看作是复杂规则与流程的集合。解决的基本方法依赖基本的思考方式:分解结构。分解的第一要素是:面向对象——内聚。通常面向对象理论 ...
园子的忘却之都发了一文,大意说是目前OOP感觉不太对,原文如下: http://www.cnblogs.com/gamix/archive/2006/11/26/572580.html 这里给些我的想法:除了实体对象,还有一类我称为流程对象的。 其实在现实中,新增Employee从来就不是HRUser可以决定和完成的,HRUser也只是发起一个新增Employee的流程。这个流程可能需要其它的系统的User来批复和支持。 在系统中,发起新增流传的动作,更常表现为HRUser可以通过web提交一个请求。当然这动作放在HRUser对象中,显的很奇怪。因为在现实中,也是HRUser填写个表格等等。 ...
(注:最早发在blog上,不过没有讨论,一个大概是我自己没有描述清楚,一个限于blog的形式吧。转到这里来看看) 先看下Booch对面向对象分析和设计的经典论述: OOP:面向对象编程是一种实现方法,程序被组织成对象的协作集合,每一个对象代表某个类的实例,对象的类是通过继承关系联合在一起的类层次中的所以成员。 OOD:面向对象设计是一种设计方法,它包含面向对象的分解过程,以及一种表示方法,用来描写设计中的系统的逻辑模型与物理模型,以及静态模型与动态模型。 OOA:面向对象分析是一种分析方法,它以可在问题域的词汇表中找到的类和对象的观点来审视需求。 经典是经典,不过总是不那么容易实践,我自己 ...
Author :  Anders小明   续《Domain Model:业务对象的进一步设计》       Product Line    Product Line体系存在比较特殊,Product Line的概念并不明显。Product Line以Product为核心,维护了一类product所共有的属性与其它关联业务对象如Document ...
同事发了一封信讨论如何管理工作计划和日志。讨论很热烈,发现大伙们也是各显神通。这里我列一下自己的方式,工作计划和内容分为三个类型:1. 计划这个使用Project来管理。好处是可以很容易的对一个主计划分解出多子计划,并进行管理。不过对于所有的计划,我一直只记录一个状态。对于原定计划中未完成的活动没有记录原因以及推迟完成的也没有记录原定时间以及原因。后来根据同事的提示,发现还是要补充记录这样的变化状态。也有同事使用Excel来管理,不过这样失去了Project提供的日历视图便利。 2. 想法和问题 记录一下工作中一些暂时无法实现的想法,以及不清楚原因的问题。这个目前使用MyBase来管理,其拥有 ...
本文放在javaeye可能未必合适。文章中中英文混用也是问题。 而且本文讨论的模型比较适合交易类系统,对于ERP类未必合适。 Author :  Anders小明 原文: http://www.blogjava.net/AndersLin/archive/2006/10/09/74187.html    在Domain Object的动静之分 ...
在《IT经理世界》上看到的,行业软件发展的三个阶段:项目阶段:满足客户的个性化需求,拿下第一批有很强口碑效用的客户; 标准化阶段:标准化的产品实现规模化的软件销售和支持; 大规模定制化支持:提供 API 接口,平台工具, DSL 等实现规模化的满足客户的个性化需求。深以为然。
Business Request的虚实之道       Business Request的概念,与http request是不同的。为避免误解,特意加上Business一词修饰。       所谓虚实是指是否将Business Request概念实例化。不做实例化的理由时处理简单;实例化则有助于处理Bus ...
Global site tag (gtag.js) - Google Analytics