發布大衛作品:簡易建模工具XModeler V0.0.1

來源:互聯網
上載者:User

XModeler是本人近兩年前寫的一個小工具,這次為配合<大衛的Design Patterns學習筆記>的推出,對其進行了一些小的擴充。

1、XModeler簡介
最初想編寫一個簡單的建模軟體是很久以前的事,開始計劃用C++來寫,希望編個程式能夠實踐一下《設計模式》書上的23種設計模式,同時,又能鞏固自己所學的UML方面的知識,但是,很快就發現實在是舉步唯艱,其一是因為自己對設計模式的理解停留在理論層面上,其二也是因為自己對物件導向設計的理解還不夠深入。後來,重新讀了《設計模式》、《Design Patterns Explained》、《Design Patterns Java Companion》等書,對設計模式有了進一步的認識;再後來,因為工作關係,開始重拾丟在書箱裡的Java書出來研讀,才突然發現,所謂的設計模式在Java語言中其實隨處可見,Command模式、Observer模式、Adapter模式、Singleton模式等的應用在Java中隨處可見,我最終決定用Java語言來編寫這個簡單的建模軟體,並將其命名為XModeler(X是我的姓的第一個拼音字母,同時也有eXtendable-可擴充的意思,我希望通過合理的設計使這個小工具能夠有很好的可擴充性,當然這在目前還只是個夢想,^_^)。
目前,XModeler只提供了最簡單的類圖繪製功能,並且沒有提供如反身關聯、擴充機制、代碼產生等的支援(實現前兩者很簡單,只是暫時沒有考慮)。目前主要面向Java語言(雖然UML是語言無關的,但當具體到語言細節時,Unified是不可能的),因此,部分特性不適合C++語言(如final、abstract等關鍵字相關的內容),反過來,對C++語言的部分特性如virtual沒有提供支援(因為Java沒有這個關鍵字,生來就支援這個東東)。

2、說明
由於最近工作十分繁忙,加之正在籌劃啟動一個新的研究項目,XModeler的完成時間比原定計劃晚了整整一個月,致使早已寫完的<大衛的Design Patterns學習筆記>的推出時間也同樣延誤到了現在。
數日前,女友問我“你這東西能做得比Rational Rose好嗎?”,我隨口而出“給我十個人,我能用兩年時間趕上Rational Rose”,“那讓你自己做豈不是要20年,甚至更多,何況你還是在業餘時間做?”,我不禁愕然,一個人能夠工作幾個20年呢?有些事情,我們獨自做的話,一輩子只能做那麼一兩件,但如果幾個、幾十個甚至成千上萬個人來做,一個人一輩子就可以參與和體會很多次。
n久前在VCKbase上提議成立開源社區,反響異常冷淡,大大出乎我的意料。原本打算將XModeler作為一個候選Project交給VCKbase社區,也只好作罷。
這次推出XModeler0.0.1完全是為了配合<大衛的Design Patterns學習筆記>的推出,隨後推出的<大衛的Design Patterns學習筆記>全部類圖均採用XModeler繪製。我會在XModeler0.0.2推出時公布0.0.1版的源碼,但正如上面提到的,目前工作十分繁忙,加之正在籌劃啟動一個新的研究項目,何時推出新版本,尚不在計劃內。

以下是XModeler的運行圖例:

使用者需安裝有JDK1.4或以上版本,將下面的.zip包解壓到本地後執行其中的run.bat以啟動XModeler。
下載XModeler

最後,XModeler目前還十分不完善,甚至還存在一些Bug及與UML或Java語言特性相違背的地方,歡迎各位指正。

Bill David 於 2005.07.18

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.