随笔分类 -  面向对象、架构、领域建模

面向对象、架构、领域建模相关知识
面向对象与领域建模
摘要:面向对象与领域建模板桥里人http://www.jdon.com 2006/12/6(转载请保留)多变且复杂的需求 如果没有多变的需求,也许就没有今天的面向对象软件,我们曾经试图通过需求管理、需求跟踪等等管理方式约束和减少需求频繁更新带给软件的冲击,可是这样下去的结果只有一个:使得软件更加僵化;或者程序员更加 劳累。 需求不但多变,而且经常是不可能第一次就能掌握,需求反映了某个领域的专业知识,例如数学、管理、财务或 电子商务等等,每个特定案例需求又有其特别复杂之处,几乎没有人能够第一次接触就可以深入掌握这些专业领域的 需求本质,就是专门的建模专家也不例外。 既然需求是多变而且复杂的,所以... 阅读全文
posted @ 2012-11-25 12:55 YangJin 阅读(177) 评论(0) 推荐(0)
运用四色建模法进行领域分析
摘要:领域建模有很多种方法,对于同样的问题域使用不同的建模手段得到的模型可能也不尽相同。于是我经常听到这样一个问题:怎么才能保证建模的正确性?这听起来是个合理的质疑,但实际上却不是那么有道理。首先我们需要明白建模的目的是什么?如果仅仅是为了描画问题,那么并没有什么对错之分——仅仅是立场和角度的差别;而如果是为了企业业务系统而进行建模,那么这个问题应该变为:如何保证模型能够支撑企业的运营?我想用下面这个例子来简要的回答一下这个问题。在开始分析和建模之前,我们需要知道企业业务系统的目的是什么;而企业业务系统的目的往往跟决策者或者管理的诉求相关。我们现在需要移情到一位管理者身上,看看他的诉求到底是什么。. 阅读全文
posted @ 2012-08-21 20:43 YangJin 阅读(1305) 评论(0) 推荐(0)
UML五种关系
摘要:<1>依赖依赖关系用虚线加箭头表示,如图所示:上图表示:Animal类依赖于Water类(动物依赖于水)。依赖是类的五种关系中耦合最小的一种关系。因为依赖关系在生成代码的时候,这两个关系类都不会增加属性。这种微弱的关系可以用类之间的相互了解的程度来说明。(下图为代码生成图)由上图可见生成的代码中Animal类的属性中没有增加Water类。那么Animal类如何使用Water类呢,有三种方式:依赖关系的三种表现形式:①Water类是全局的,则Animal类可以调用它②Water类是Animal类的某个方法中的变量,则Animal类可以调用它。代码演示如下: PS:Animal有一个长 阅读全文
posted @ 2012-08-13 22:02 YangJin 阅读(217) 评论(0) 推荐(0)
大型网站架构演变和知识体系
摘要:之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行业的同学一点初步的概念,文中的不对之处也请各位多给点建议,让本文真正起到抛砖引玉的效果。架构演变第一步:物理分离webserver和数据库最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚 阅读全文
posted @ 2012-07-20 22:11 YangJin 阅读(102) 评论(0) 推荐(0)
一些软件设计的原则
摘要:Don’t Repeat Yourself (DRY) DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法。参考:http://en.wikipedia.org/wiki/KISS_principleProgram to an interface, not an implementation这是设计模式中最根本的哲学,注重接口 阅读全文
posted @ 2012-07-19 08:30 YangJin 阅读(158) 评论(0) 推荐(0)