出版时间:20101101 出版社:人民邮电出版社 作者:Martin Fowler 页数:357
Tag标签:无
前言
我们几个所谓的“四人帮”在写《设计模式》时就知道,除了面向对象设计模式以外,还有许多其他软件模式。到写完书后,我们已经看到了分布式编程模式、用户界面模式,甚至是组织软件开发团队的模式。但我们还没见过很清晰的面向对象分析模式。Peter Coad提出的模式是最接近于面向对象分析模式的,但这些模式和我们的模式非常像。而在我们看来,纯分析模式应该是大不一样的。在读Martin Fowler的书稿时,我终于找到了我一直梦寐以求的东西。他讲的模式容纳了大量领域知识,又能在所有商业软件中都适用。和设计模式一样,这些模式很抽象,足以帮助你的软件应对各种猝不及防的需求变化,但又非常具体,容易理解。它们不见得是最明显的解决建模问题的方法,但在我看来真实可信。我以前见过许多这类解决方法,都很有效。与其说我是一个建模师,不如说我是个设计师。在Martin Fowler描述的很多领域,我都没有太多经验。虽然我觉得那些模式很好,但我对自己的感觉不是太自信。然而,自从读了这本书之后,我就开始在软件项目中尝试这些模式,并用于教学。它们的确行之有效!等我看过David Hay写的Data. Model Patterns一书后,我的自信心大大增强了。我意识到,尽管他们有不同的背景和专业用词,但他们看到了许多相同的模式。模式应该描述现实,而不是发明新事物,Martin Fowler精确地描述了商业软件面向对象模型中的模式。你大可对他描绘的模式满怀信心。虽然Martin介绍了许多建模原则,但这本书不是一本专讲原理的书,你不必非要读完全书并做相应练习之后才能有所收获。书中全都是实用的模式,可以随学随用。针对遇到的具体问题,找到适用的章节,你将发现许多大有助益的好主意。你也可以逐章阅读,每一章都有新思想。为了充分利用本书,需要知道两件事。首先,许多模式都深藏不露,比表面看上去要强大得多。比如,.Accountability模式就可以应用于几乎任何项目中。不要局限于表面上明显适用于你的项目的那几章,而应尽可能多学习几种模式,并且看看是否能派上用场。其次,要保证让合作者也阅读本书。
内容概要
本书讲述各种分析模式和辅助模式,专注于面向对象分析与设计的结果——模型本身,给出了来自金融贸易、测量、财务以及组织关系等多个领域内的一系列模式。书中每个模式都包含了设计背后的原理、使用的规则以及实现的技巧,给出的例子包含了有用模型的细节,并介绍了用于提高分析、建模和实现的重用技巧。 本书适用于面向对象的计算机分析人员和设计人员、数据建模人员、编程人员以及软件工程师。
作者简介
Martin Fowler出生于英国沃尔索尔。现定居美国梅尔罗斯。世界级软件开发大师。OOAD、UML、模式、敏捷开发方面的领军人物。自上世纪80年代中期一直从事面向对象技术的研究。作为独立顾问从事咨询工作十余年。1999年加盟Thought Works,现为该公司首席科学家。著有《重构:改善既有代码的设计》、《企业应用架构模式》、《UML精粹》等一系列脍炙人口的经典。
书籍目录
Chapter 1 Introduction 1.1 Conceptual Models 1.2 The World of Patterns 1.3 The Patterns in this Book 1.4 Conceptual Models and Business Process Reengineering 1.5 Patterns and Frameworks 1.6 Using the Patterns ReferencesPart 1. Analysis Patterns Chapter 2 Accountability 2.1 Party 2.2 Organization Hierarchies 2.3 Organization Structure 2.4 Accountability 2.5 Accountability Knowledge Level 2.6 Party Type Generalizations 2.7 Hierarchic Accountability 2.8 Operating Scopes 2.9 Post References Chapter 3. Observations and Measurements 3.1 Quantity 3.2 Conversion Ratio 3.3 Compound Units 3.4 Measurement 3.5 Observation 3.6 Subtyping Observation Concepts 3.7 Protocol 3.8 Dual Time Record 3.9 Rejected Observation 3.10 Active Observation, Hypothesis, and Projection 3.11 Associated Observation 3.12 Process of Observation References Chapter 4. Observations for Corporate Finance 4.1 Enterprise Segment 4.2 Measurement Protocol 4.3 Range 4.4 Phenomenon with Range 4.5 Using the Resulting Framework References Chapter 5. Referring to Objects 5.1 Name 5.2 Identification Scheme 5.3 Object Merge 5.4 Object Equivalence References Chapter 6. Inventory and Accounting 6.1 Account 6.2 Transactions 6.3 Summary Account 6.4 Memo Account 6.5 Posting Rules 6.6 Individual Instance Method 6.7 Posting Rule Execution 6.8 Posting Rules for Many Accounts 6.9 Choosing Entries 6.10 Accounting Practice 6.11 Sources of an Entry 6.12 Balance Sheet and Income Statement 6.13 Corresponding Account 6.14 Specialized Account Mode] 6.15 Booking Entries to Multiple Accounts Further Reading References Chapter 7. Using the Accounting Models 7.1 Structural Models 7.2 Implementing the Structure 7.3 Setting Up New Phone Services 7.4 Setting Up Calls 7.5 Implementing Account-based Firing 7.6 Separating Calls into Day and Evening 7.7 Charging for Time 7.8 Calculating the Tax 7.9 Concluding Thoughts References Chapter 8. Planning 8.1 Proposed and Implemented Action 8.2 Completed and Abandoned Actions 8.3 Suspension 8.4 Plan 8.5 Protocol 8.6 Resource Allocation 8.7 Outcome and Start Functions References Chapter 9. Trading 9.1 Contract 9.2 Portfolio 9.3 Quote 9.4 Scenario References Chapter 10. Derivative ContractsChapter 11. Trading PackagesChapter 12. Layered Architecture for Information SystemsChapter 13. Application FacadesChapter 14. Patterns for Type Model Chapter 15. Association Patterns Chapter 16. Afterword Part 3. Appendix
章节摘录
插图:We begin by looking for the total revenue for ACM. This would be a mea- surement whose enterprise segment is the whole company; that is, the enterprise segment's dimension elements are all at the top of the dimension hierarchies. The measurement normally would not be an absolute value; rather it would be a comparative value with some plan or prior time period. Furthermore, the fact that it is a problem might be indicated by highlighting it according to a ranged phenomenon. The analyst would then begin by looking for problem observations defined by phenomena.To identify that the problem is with equipment sales income, we need to roll back the causal calculation of total revenue as sales income minus sales cost. Note that the causal calculation indicates a possible path of analysis, whether or not the measurement was determined that way. It may be that this final figure was actually sourced from a database. (Due to dirty data, it may be that it doesn't exactly fit the result of the formula.)The next step is to use dimension combination protocols. Looking along the location dimension shows that the Northeast segment had a noticeably higher deviation. We can now focus on the enterprise segment that points to the Northeast dimension element on the location dimension, and at the top for all other dimensions. Repeating this process two more times would lead us to the enterprise segment with location of Northeast, product of 1100 family, and industry sector of government.There is a certain amount of indirection here. When comparative calculations are involved, the route may not be direct. It may not be that the deviation in total revenue is calculated by subtracting the deviation in sales cost from the deviation in sales income. A more likely scenario is that the separate actual and planned sales revenues are calculated, and then these are used in the causal. With absolute deviation, either route will work, but this is not true for percentage deviation. The presence or absence of protocols will indicate what will and will not be appropriate calculations.We can use alternative routes. Instead of first doing the causal, and then dimension combinations, we could break down on the location dimension, then use a causal, and then other dimension breakdowns. There are many possible paths for analysis, and these need not be the same as those used for calculating the figures.
媒体关注与评论
“本书对于模式文化的发展具有重大贡献。Martin Fowler 从来自不同领域的深奥的专业对象模型中提炼出一组模式,这些模式能帮助你解决具有挑战性的跨领域建模难题” ——Erich Gamma 《设计模式》作者之一“Martin Fowler给予我们的是答案本身,而不仅仅是寻求答案的过程。就在这朴实无华的语言中,你将发现下一个业务对象模型的精华所在” ——Ward Cunningham设计模式和敏捷开发方法先驱“在这部令人期待己久的著作中,作者为应用领域模式所做的工作完全可以与'四人帮'在《设计模式》一书中为通用设计模式所做的工作相媲美。对于正在从事面向对象业务建模或业务流程重组的分析与设计人员而言,这绝对是一本必备之书。” ——Donald G. FiresmithSEI软件大师和咨询师
编辑推荐
《分析模式:可复用的对象模型(英文版)》:业务分析是产品和项目开发的起点,软件教父Martin Fowler在书中浓缩了十余年的对象建模经验,提炼出覆盖所有领域的商业软件的分析模式和辅助模式,深入讲解了如何敏锐地识别重复性问题并将其转化为可用模型。《分析模式:可复用的对象模型(英文版)》犹如一个装满妙计的锦囊。助你轻松应对软件中各种猝不及防的需求变化。十多年来。这部经典名作在软件业的地位无可替代。它被Ralph Johnson “我一直梦寐以求的东西”。每一次阅读。它都能启发新知。和《设计模式》一样。它像一坛陈年佳酿。历久弥香,值得珍藏与回味。软件教父的智慧结晶模式领域的扛鼎之作对象建模必读经典
图书封面
图书标签Tags
无
评论、评分、阅读与下载