<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### 《分析模式:可重用對象模型》 前言和介紹(筆記版) Martin Fowler 翻譯整理:Windy J(windy.j@163.com) 注:本文采用意譯的方法,重在表達原文的意思,而不是逐字逐句的翻譯,如有錯誤,請指正。 #### 前言 不久以前市面上還沒有關于面向對象分析和設計的書籍,但現在這類的書非常多以至于人們無法全部一一掌握他們。大部分的這些書致力于講解一種注記方法,介紹一個簡單的建模過程,并提供一些簡例來說明。但分析模式:可重用對象模型顯然不同,它關注的主要是建模的結果——那些模型本身,而不是關注建模過程——怎樣建模。 我是一個信息系統面向對象建模咨詢/顧問人員,為客戶提供建模人員培訓和項目指導。我的絕大部分經驗來自建模技術知識和怎樣運用它們。不過,更重要的是我在實際建模中的經驗,以及看到問題經常會重復出現,正是因為這樣我可以重用以前建立的模型,改進它們,并用于新的要求。 最近幾年越來越多的人們發現了這一現象。我們意識到典型的方法學的書,盡管很有價值,卻只提出了學習過程的第一步,這樣的學習過程,還必須捕捉實際的事物本身。這樣的意識發展成為了“模式(Patterns)”運動,但是怎樣給模式下一個唯一的定義呢?我的定義是:模式是一種思想,它已經適用于一個實踐環境中,并有可能適用于其他的環境。(A pattern is an idea that has been useful in one practical context and will probably be useful in others.)模式可以有多種格式,每一種格式都增加了一些有用的特別化特征。 本書講述分析中的模式,也就是反映商業過程的概念模式,而不是具體的軟件實現。大多數的章節討論不同的問題域中的模式,這些模式難以按傳統的行業分類(例如制造、金融、醫療保健等),因為他們經常適用于多個領域。模式可以幫助我們理解人們對世界的認識,而且基于這樣的認識來建立計算機系統,并試圖改變這些認識(或者可以稱為商業過程重組工程Business Process Reengineering——BPR)是非常有意義的。 當然,概念模式(Conceptual Patterns)并不能孤立存在,對于軟件工程人員來說,只有當他們看到如何實現時概念模型才有意義。所以在這本書里我還提供了可以將概念模型實現成軟件的模式,并將討論該軟件如何適合一個大型信息系統的結構,還將給出和這些模式有關的具體實現技巧。 建模人員將在這本書里找到在其他新的領域里有用的思想,這些模式包括有用的模型,設計背后的理由,還有什么時候適合和不適合應用。這些可以幫助建模人員在遇到具體的問題時更好地應用這些模式。 這本書里的模式還可以用來回顧已有的模型——來看其中哪些可以省略,哪些可以找到替代的方式來改進它們。當我回顧一個項目時,經常拿它們和從以前的項目中學到的模式相比較,就這樣,我發現模式意識使我更容易應用以往的實踐經驗,這樣的模式也遠遠比簡單的課本更容易揭露模型的要點和本質。通過討論我們為什么這樣建模,將會使我們對如何改進這些模型有更深的理解,即使我們并沒有直接運用這些模式。 #### 本書結構 這本書分為兩大部分:第一個部分講述分析模式——來自概念商業模型的模式;他們提供來自貿易、測量、記帳(Accounting)、組織關系等多個問題域的關鍵抽象。這些模式之所以是概念性的因為他們關注的是人們對業務的思考和認識,而不是計算機系統的設計方法。這個部分的章節著重于可用的可選模式,和這些可選模式各自的優點和弱點。而且盡管每一個模式可用于特定的問題域,那些基礎的模式還可以用于其他的領域。 第二個部分講述支持模式,通過支持模式對這些分析模式提供使用幫助。支持模式描述分析模式怎樣適合一個大型信息系統的結構,描述這些概念模型如何轉換成軟件接口和實現,還有那些特定的高級(advanced)模型構造怎樣和更簡單結構相關。 為了描述這些模型,我需要一種注記方法。附錄中包括對本書所用注記方法的簡要討論,以及符號的意思,還包括哪里可以找到我所用(注記)技術的指南。 每一個部分都劃分為章節,每個關于分析模式的章節包括那些在一個松散的主題空間相關的模式,這些模式也會受到產生它們的項目的影響。這樣的組織方式說明任何模式都來自于實際的環境。每個模式出現在一章的各個小節,不象其他模式作者一樣,我并沒有為每個模式提供單獨的標題,而是提供了一個類似于描述原始工程的格式,并增加了模式在原始問題域中以及在其他的環境下如何應用的例子。關于模式,其中最大的困難就是如何抽象到別的問題域;不過我認為這個問題最好留給讀者自己去思考。 因此,這本書可以當作一個目錄,而不是需要從頭到尾讀完。我努力使得每個章節獨立于其他的章節,(雖然這經常是不可能的,所以每個章節如果引用了其他的章節,我會在介紹里聲明。)每個章節的介紹部分包括該章節的通用主題空間,總結這個章節中的模式,以及模式產生的項目資料。 #### 怎樣閱讀本書 我建議先詳細閱讀第一章,再看每章的介紹部分,然后就可以按照你的興趣選擇閱讀各章,不管你用什么順序。如果你不熟悉我建模的方法,或我采用的注記和概念,可以閱讀附錄。在模式表格中給出了每個模式的簡要總結,以后回顧本書的時候可以查閱它們。非常重要的是這些模式在它們產生的問題域之外也非常有用,所以我建議你閱讀那些也許不在你興趣之內的章節,例如,我發現醫療保健行業中關于觀測和測量的模式在公司金融分析中證明非常有用。 #### 誰將閱讀這本書 最大的讀者群應該是面向對象計算機系統的分析和設計人員; 一個小規模但非常重要的讀者群應該是那些建模項目的問題域專家; 希望程序員們可以鉆研這本書,盡管本書缺乏代碼和有著概念傾向,我建議你們著重注意第十四章,這一章講述了概念模型和結果軟件之間的關系; 數據建模人員; 經理們將發現這本書是開發活動的一個起點。從模式開始有助于簡化目標,項目計劃也可以獲益于廣大的模式設計背景; 學生并不是我定位的讀者,但他們同樣可以閱讀這本書。 一本動態的書 書出版之后作者將難以改變書的內容,但是我一直在努力學習,而且這樣的學習一定會改變我的原有的看法,所以我希望這些改變也能讓讀者們知道。 幸運的是Addison-Wesley公司為這本書提供了一個網址<http://www.aw.com/cp/fowler.html>,將用來提供更多的資料。使得這本書可以保持動態改變,我希望該網址會包括以下內容: 1. *我學到的關于這本書的模式的新的東西; 2. *對于這本書的問題解答; 3. *其他人關于模式的有用解說; 4. *UML注記出現的時候我會重畫書中的圖表并上載它們; 這個網址將是本書的補充部分,所以別忘了關注它,并可用來告訴我怎樣改進和發展本書的思想。 答謝(略) 參考 1.Martin, J., and J. Odell. Object-Oriented Methods: A Foundation. Englewood Cliffs, NJ: Prentice-Hall, 1995
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看