说架构,远不如讨论语言来得有感觉。架构这个词有点别扭,是这几年才说得比较多的一个词语。没有感觉就顺便先说几句。
从问题出发,我们要解决一个应用系统,实现其目标,并不是一件容易的事。这里不再掉书包说以前的方法了,就说眼前的。眼前的架构不管其名称是什么有一点是共同的,那就是多层结构,最普遍的是三层结构。为什么是多层而不是一层或两层,这个是科技发展过来的,说不上什么道理。这好比以前建砖瓦房,现在建框架房一样,将梁和墙分开被事实证明是一个正确的选择。
普通的三层结构,一般分为数据层,业务层和UI,数据层简而言之是是实现数据存取,数据关系,核心就是数据库。对于普通的应用而言,Oracle,DB2和MySql没什么区别,因此在这一层里应该没什么猫尿才对。但恰恰相反,不知道是我理解不深还是没做过什么大系统的缘故,这里有ORM,有JDO,有Active Record(刚刚看过介绍文章),天啦,尿多去了。(全是因为OO建模的关系)
数据层不讨论了,因为我的观点这时候不用说读者也明白了,与其说出来找骂不如保留观点。业务层的内容就多了,有很多人认为一个系统的核心就是这层内容了。我认为这层很重要,系统实际上是RUN在这层上的。但是这个层不是核心,核心是两个,一是数据层和业务层的设计以使既能够满足业务需求,又能够适应需求变化的要求。这话说起来有些拗口,没关系,老外已经把这个总结为“分析模式”了,当我看到这本书的时候,我不是感到激动,而是佩服,佩服He能够把这么宝贵的经验拿出来,而且还整理得这么好。对于这个核心,我要说的是,不是了解或者掌握了OO建模就能够把这件事情干好的,因为按照OO建模的理论,是要将现实世界映射到OO,而映射的结果将会很多,分析模式中提供的方案绝不会是最直观的。这里面充满了技巧和经验。
另一个核心也和需求所反映的逻辑关系无关,另一句拗口的句子,将业务层换成了UI层。那就是切身体会的理解用户的UI操作体验,用一把小刀修修你的数据层。要获得美丽的容颜,仅仅靠化妆品是不够的,适当的修修内功,内外兼收才能培养出绝色美女。
关于应用系统核心的观点有很多人会不同意,管别人怎么想做什么呢,我既然写了出来,我就先占据了主动,不是吗?又要待续了,因为财务的原因,买的房子楼层低,有蚊子了,还是用火点的蚊香可靠些,技术里也有很多像老蚊香一样实实在在的东西,不要丢掉哦!
从问题出发,我们要解决一个应用系统,实现其目标,并不是一件容易的事。这里不再掉书包说以前的方法了,就说眼前的。眼前的架构不管其名称是什么有一点是共同的,那就是多层结构,最普遍的是三层结构。为什么是多层而不是一层或两层,这个是科技发展过来的,说不上什么道理。这好比以前建砖瓦房,现在建框架房一样,将梁和墙分开被事实证明是一个正确的选择。
普通的三层结构,一般分为数据层,业务层和UI,数据层简而言之是是实现数据存取,数据关系,核心就是数据库。对于普通的应用而言,Oracle,DB2和MySql没什么区别,因此在这一层里应该没什么猫尿才对。但恰恰相反,不知道是我理解不深还是没做过什么大系统的缘故,这里有ORM,有JDO,有Active Record(刚刚看过介绍文章),天啦,尿多去了。(全是因为OO建模的关系)
数据层不讨论了,因为我的观点这时候不用说读者也明白了,与其说出来找骂不如保留观点。业务层的内容就多了,有很多人认为一个系统的核心就是这层内容了。我认为这层很重要,系统实际上是RUN在这层上的。但是这个层不是核心,核心是两个,一是数据层和业务层的设计以使既能够满足业务需求,又能够适应需求变化的要求。这话说起来有些拗口,没关系,老外已经把这个总结为“分析模式”了,当我看到这本书的时候,我不是感到激动,而是佩服,佩服He能够把这么宝贵的经验拿出来,而且还整理得这么好。对于这个核心,我要说的是,不是了解或者掌握了OO建模就能够把这件事情干好的,因为按照OO建模的理论,是要将现实世界映射到OO,而映射的结果将会很多,分析模式中提供的方案绝不会是最直观的。这里面充满了技巧和经验。
另一个核心也和需求所反映的逻辑关系无关,另一句拗口的句子,将业务层换成了UI层。那就是切身体会的理解用户的UI操作体验,用一把小刀修修你的数据层。要获得美丽的容颜,仅仅靠化妆品是不够的,适当的修修内功,内外兼收才能培养出绝色美女。
关于应用系统核心的观点有很多人会不同意,管别人怎么想做什么呢,我既然写了出来,我就先占据了主动,不是吗?又要待续了,因为财务的原因,买的房子楼层低,有蚊子了,还是用火点的蚊香可靠些,技术里也有很多像老蚊香一样实实在在的东西,不要丢掉哦!