原创 遍歷聚合對象中的元素——迭代器模式(六)

6 迭代器模式總結       迭代器模式是一種使用頻率非常高的設計模式,通過引入迭代器可以將數據的遍歷功能從聚合對象中分離出來,聚合對象只負責存儲數據,而遍歷數據由迭代器來完成。由於很多編程語言的類庫都已經實現了迭代器模式,因此在實際開

原创 創新教育實例之“三國人物關係模型”

       最近與一位從事高校軟件工程教育的同仁(摯友)聊天,談到如何提高學生的創新性思維,兩人不免大肆吐槽一番,有談到過目前高校教育體制、學校的培養方案等等等等,但是這些東東無論是作爲我們老師還是學生,只有微不足道的建議權,沒有任何決

原创 您的鼓勵,我的動力!(CSDN 2013年度博客之星評選)

       親愛的小夥伴們,大家好!很榮幸我能夠成爲CSDN 2013年度博客之星評選的候選人,希望繼續得到大家的支持與鼓勵,Sunny定會繼續努力!        投票地址:http://vote.blog.csdn.net/blog

原创 Bug管理系統UML2.0建模實例(二)

2.3 BMS順序圖(需求模型)       在UML中,我們將順序圖分爲兩類,一類用於描述系統需求,構造系統的需求模型(分析模型);另一類用於指導設計與實現,構造系統的實現模型(設計模型)。       在系統分析時,可以通過順序圖來對

原创 Bug管理系統UML2.0建模實例(四)

3.3 順序圖(實現模型)       在系統設計與實現階段我們也可以使用順序圖進行建模,此時通過順序圖可以明確表示系統設計中對象之間的交互,考慮到具體系統實現,對象之間通過方法調用傳遞消息。在BMS系統中,對每個用例均可以繪製基於實現模

原创 遍歷聚合對象中的元素——迭代器模式(五)

5 JDK內置迭代器       爲了讓開發人員能夠更加方便地操作聚合對象,在Java、C#等編程語言中都提供了內置迭代器。在Java集合框架中,常用的List和Set等聚合類都繼承(或實現)了java.util.Collection接口

原创 Bug管理系統UML2.0建模實例(三)

3.系統設計       在對系統進行全面分析後,我們開始使用UML對系統進行設計,構造BMS系統的設計模型,包括類圖、包圖、順序圖(實現模型)、組件圖和部署圖等的繪製,回答了“怎麼做”的問題。具體設計工作如下: 3.1 體系結構設計  

原创 Sunny談重構

       按照軟件工程大神Martin Fowler的定義,重構就是在不改變軟件現有功能的基礎上,通過調整程序代碼改善軟件的質量、性能,使其程序的設計模式和架構更趨合理,進而提高軟件的可擴展性和可維護性。這是重構的定義,簡單來說就是不

原创 對模式的十大誤解

       本文摘選自已故知名軟件大師John Vlissides的Pattern Hatching (Design Patterns Applied)【中譯本名爲:《設計模式沉思錄》,葛子昂譯,人民郵電出版社】一書。該書出版於1998

原创 設計模式思想還遠未廣泛應用

        1994年,在波特蘭舉行的OOPSLA (Object Oriented Programming, Systems, Languages and Applications)大會上,Addison-Wesley出版社展示了一

原创 將會改變未來IT世界的十種編程語言

       這裏要說的都是革新,說這些的目的就是要保持關注最新技術。如果你是一個程序員,想要探尋未來技術,那這篇文章就是你的必讀之選。我們這裏列出了10種編程語言,10種將會改變IT世界工作方式的編程語言。這些語言已經在開始改變IT界的

原创 數據可視化:一張圖勝過千言萬語

       信息爆炸時代,一組經過精心設計、形象生動的信息圖往往要比一篇深度長文章更容易贏得眼球和青睞。在社交媒體上,你會發現,出色的可視化產品很容易就獲得海量轉發和分享。  “媒介即訊息”這是着名媒介理論家馬歇爾·麥克盧漢在20世紀時

原创 Sunny談軟件架構

       軟件架構是軟件工程一個很重要的分支,隨着軟件規模的擴大和軟件壽命的延長,軟件架構也越發重要。就像建築領域,蓋一個狗窩不需要進行分析與設計,但是如果是要蓋一座萬人體育場或者摩天大樓,那一定會離不開設計師。軟件工程與之同理,好的

原创 要想深入理解設計模式,就必須究其細節

       15年前,設計模式的經典之作《設計模式》出版之際,我在其封底寫下了這樣的評論:“這本書是對對象設計和開發實踐者的重大貢獻!你可有過爲自己某個想法的命名冥思苦想的經歷?這事的確令人苦惱。《設計模式》解決了這個問題,它歸納並組織

原创 遍歷聚合對象中的元素——迭代器模式(四)

4 使用內部類實現迭代器       在迭代器模式結構圖中,我們可以看到具體迭代器類和具體聚合類之間存在雙重關係,其中一個關係爲關聯關係,在具體迭代器中需要維持一個對具體聚合對象的引用,該關聯關係的目的是訪問存儲在聚合對象中的數據,以便迭