`
zhongzhihua
  • 浏览: 310200 次
  • 来自: ...
社区版块
存档分类
最新评论

分析模式---建模原则

阅读更多

建模原则:()

1。设计一个模型时应使该模型最频繁修改的部分所影响的类型数量达到最少。

2。只要为一个拥有超类型的类型定义了特征,就应该考虑将这些特征放在该超类型上是否有意义。

3。将模型清晰地分解成操作级和知识级

4。当多个属性与可能会在几个类型中使用的行为相关时,就把这些属性组合成新的基础类型。

5。操作级中的对象会经常发生变化,它的配置由很少发生变化的知识级来约束。

6。如果某个类型拥有多种的关联,可以为这些关联对象定义一个新的类型,并建立一个知识类型来区分它们。

7。要记录一个值的变更历史,可以为这个值设立一个账目。

8。在使用账目进要遵守守恒原理:需要清算的物品不能凭空生成和消失,它仅仅是从一个地方转移到另一个地方,这使得发现和防止不守恒变得容易。

9。当可以提供不止一个的等价特征集合时,就挑选领域专家最满意的一种方法。如果领域专家感到两种方法都有价值,那么就都显示,并且把其中一个标记为派生的。

10。把一个特征标记为派生是对接口的一种约束,但不会影响基础的数据结构。

11。如果一组对象可以用不同的标准来组织,就应当使用合同夹。

12。当把一个过程看作类型的一个特征时,应该把这个过程提供一个抽象的接口,使得实现能轻松地通过子类化而改变,一个通过硬编码得到的实现是一个子类,不同的参数驱动方法是其他的子类。

13。当多重属性和一个可能在几个类型中使用的行为进行交互时,属性应该被结合成一个新的基本类型。

 

14。如果超类的适用领域狭窄而子类的适用领域广泛,就不应该使用泛化。

15。如果两个相似类型的差异经常被忽略,那么一个抽象超类型就可以被使用,如果它们之间的差异通常是很重要的,那么一个抽象的超类就不应该被使用。

16。如果一个抽象类型从不需要客户花费更多的努力来使用,那么它就应该被提供。

17。场景应该在价格或汇率的组合需要被看作一个整体的时候使用。

18。当信息可以从一个信息源检索或者可以从其它可用的数据计算时,应当提供一个抽象的接口而源和计算各为一个子类。

19。日期计算经常受到需要跳过的假日的影响,不同国家之间的假日通常是不同的,甚至不同商业机构也有自己的假日。

20。派生标志应该被用来定义从模型中其它结构中派生的术语。

21。当面对可选择的方法时,首先要选择最简单的,并且当需要时改为更复杂的方法。

22。当可选择的模型之间的选择余地很少时,听领域专家的直觉。

23。只有当所有的超类型的特征适合超类型并且从概念上讲每一个子类型的实例是一个超类型的实例有意义时才应该使用子类型化。

24。当客户眼中的一个交易在交易人眼中是多个交易时,都可以使用产品/合同这种划分。

产品和合同之间关键区别是产品描述客户的目的而合同涉及对方团体和主要团体之间的交易实际上得到了什么。

25。不要复制有相同内涵的基础关联,遵循这个原则导致责任分明的类型。

26。在责任分配中保持一致。提防一种类型有时对某事负责而有时又将这个责任委托给别的类型(这种行为可以胆正确的,但它总是值得怀疑)

27。关于状态图的泛化结果不能被很好地理解,确保关于超类型的所有事件可以由子类型来操作是很重要的。任何可被子类型化的状态图必须允许未知的事件。

28。单向关联和双向关联之间的决定是减少相关开发者的工作(通过减少类型间的耦合)和为类型的使用者提供方法之间的折衷。

29。如果一个包只需要对另一个包的一部分可见性,那么考虑将后面的包分成两个相互可见的包。

30。如果你遇到一个难以建模的重复情况,可以定义一个符号。然而,我们只有当造成的简化性超过了记忆额外符号的困难时才会定义一个符号。

  • 大小: 176.5 KB
分享到:
评论

相关推荐

    《软件秘笈:设计模式那点事》郑阿奇(编者) -电子工业出版社

    2.3.3 工厂方法模式的静态建模 2.4 故事的工厂方法模式实现 2.4.1 建立产品 2.4.2 建立工厂 2.4.3 故事情节的历史重现 2.4.4 用八星宝刀来考验模式 2.5 设计原则 2.6 使用场合 2.7 本章要点 3 肯德基:...

    软件建模与分析大作业之银行管理系统 这个大作业是对一个系统进行初步的建模分析,我选用了银行系统。内容包括了各种图等等。

    3、在面向对象设计环节能采用5种以上设计模式,并说明对应的面向对象设计原则。 可以自己定义一个系统,比如我选择的是银行系统,然后对其进行建模分析即可。文章内容包括绪论、需求分析、建模分析、心得体会以及...

    设计模式精解-掌握设计模式

    本书从一个新的视角描述面向对象设计,将面向中对象编程的原则与运用设计模式力量创建健壮、可靠的软件开发环境结合起来。书中采用实用、恰当的例子,指导读者用模式解决普通的编程问题,并且解释现代软件设计模式的...

    敏捷软件开发:原则、模式与实践.pdf

    Martin 的这本书结合了当时最流行的面向对象 语言C++ 和最出色的面向对象设计建模方法 Booch Method,以大量实例讲解技术概念和应用方法,分析透彻,讲解务实,技术精妙,在读者中声誉极佳。这本书不单为 Martin ...

    高级软件架构师培训(内部资料)

    01 支撑架构视图-软件进程实施方案选择 02 管理架构视图-获取团队开发成功的若干问题 ...09 技术架构视图-设计原则与模式 10 技术架构视图-详细设计 11 技术架构视图-数据持久化设计 12 技术架构视图-构架物理设计

    高级软件架构师培训-windows系统可以成功解压

    之前上传的资源http://download.csdn.net/detail/jsntghf/5171496,是用mac压缩的,有人反映windows...技术架构视图-设计原则与模式 技术架构视图-详细设计 技术架构视图-数据持久化设计 技术架构视图-构架物理设计

    软件架构讲义4-12

    4.业务架构视图-业务建模与领域分析 5.业务架构视图-需求开发与UML用例建模 6....技术架构视图-设计原则与模式 10.技术架构视图-详细设计 11.技术架构视图-数据持久化设计 12.技术架构视图-构架物理设计

    Java设计模式(2.78G)

    下载次数:9)下载附件2019-10-1720:55上传〖课程介绍〗:知识要点:面向对象设计原则、UML、设计模式、Hibernate底层分析、IOC实现分析课程目标:掌握7大设计原则,掌握UML建模,掌握常用设计模式了解其它设计模式Java...

    wps2019数据分析加载项-数据分析的思维和方法.pdf

    wps2019数据分析加载项_数据分析的思维和⽅法 ⼈⽣/⼯作的结果=思维⽅式*热情*能⼒ 数据分析常⽤的⼯具技能:统计学、sql数据库、python、R、Excel、PPT 数据管理、分析、聚类 定义问题->数据收集(清洗)->数据建模-...

    Java设计模式 版本2

    Java设计模式,目录:前言,UML建模技术,深入浅出UML类图,从招式与内功谈起——设计模式概述,面向对象设计原则,工厂三兄弟之简单工厂模式,工厂三兄弟之工厂方法模式,工厂三兄弟之抽象工厂模式,确保对象的唯一...

    设计模式精解 译者:熊节 程序员必看书籍之一 part2

    本书从一个新的视角描述面向对象设计,将面向中对象编程的原则与运用设计模式力量创建健壮、可靠的软件开发环境结合起来。书中采用实用、恰当的例子,指导读者用模式解决普通的编程问题,并且解释现代软件设计模式的...

    UML和模式应用(架构师必备).part02.rar

    12.3 完成所有分析和建模工作是否需要几个星期 第13章 逻辑架构和UML包图 13.1 示例 13.2 什么是逻辑架构和层 13.3 案例研究中应该关注的层 13.4 什么是软件架构 13.5 应用UML:包图 13.6 准则:使用层进行...

    精品版基于MATLAB R语言 SAS SPSS软件的 数据分析与挖掘实战 完整课程PPT课件 第5章 (共21页)挖掘建模之聚类分析.pptx

    5.4时序模式从序列的平稳性和非平稳型出发,对平稳时间序列主要介绍 了ARMA模型,对差分平稳序列建立了ARIMA模型,应用这两个模型对 相应的时间序列进行研究,找寻变化发展的规律,预测将来的走势; 5.5离群点检测...

    000001_DDD领域建模知识分享.pptx

    非常好和最为全面的DDD领域建模知识总结资料并包含了简单样例代码解读,该资料包含8个部分 1. 什么是DDD? 2. 为什么要使用DDD? 3. DDD核心概念 4. DDD需求分析、设计、开发流程 5. 基于微服务架构构建旅程 6. DDD...

    UML和模式应用(架构师必备).part06.rar

    12.3 完成所有分析和建模工作是否需要几个星期 第13章 逻辑架构和UML包图 13.1 示例 13.2 什么是逻辑架构和层 13.3 案例研究中应该关注的层 13.4 什么是软件架构 13.5 应用UML:包图 13.6 准则:使用层进行...

    设计模式精解 译者:熊节 程序员必看书籍之一 part1

    本书从一个新的视角描述面向对象设计,将面向中对象编程的原则与运用设计模式力量创建健壮、可靠的软件开发环境结合起来。书中采用实用、恰当的例子,指导读者用模式解决普通的编程问题,并且解释现代软件设计模式的...

    uml设计模式解析(第二版)

    以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12个最常用的模式,包括它们的基础概念、优点、权衡取舍、实现技术以及需要避免的缺陷,使读者能够理解模式背后的基本原则和动机,...

Global site tag (gtag.js) - Google Analytics