PIXNET Logo登入

卑微研究生的部落格

跳到主文

放一些技術文章

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 5月 28 週日 200623:58
  • 預防軟體專案失敗的妙方 - AntiPattern

原文連結
以下我簡單介紹AntiPattern
Design pattern 告訴我們軟體工程中解決問題的正確方法,而AntiPattern則是告訴我們錯誤的方法。AntiPattern主要分三大類,這篇只說明其中一種:架構的AntiPattern。
Architecture AntiPattern  的中文就是架構的AntiPattern。以我自己作的大學專題為例,一個組裡面,最常犯的錯誤就是事先沒設計好架構,使得每個組員各自為政,以自己的邏輯去設計程式,這明顯的違背了物件導向的精神。到最後,各個物件難以整合、運作。
我最常聽到的一句話就是:「這個功能你先去作,作好了我再跟你說怎麼改。」以我對物件導向的了解,這明顯違反我所學到的專業。所以我立即提出由組長先設計架構,再由組員實作功能的建議。但組長的一句:「你不先作,我也不知要加什麼。」所以我默默的先寫出元件,並儘量保持元件的擴充性以及可修改的彈性。
(繼續閱讀...)
文章標籤

卑微研究生 發表在 痞客邦 留言(0) 人氣(271)

  • 個人分類:物件導向
▲top
  • 1月 02 週一 200609:55
  • 多型的概念

物件導向的三大概念中,多型屬於最難懂的一個觀念。以生活中的例子來解釋,假如在一個班級中,老師命令學生搬桌子。不論是命令學生甲或是學生乙,老師同樣都是說:把桌子搬走。但學生甲跟學生乙搬桌子的方法會不會都相同?學生甲也許是整張桌子抬起來,學生乙可能比較懶,桌子是拖著走的。
軟體中會不會遇到這樣的情況?在一個看圖軟體中,開啟圖檔是再平常不過的一件事。但圖檔的格式有千百種,每一種格式的開啟方式都不一樣,這個時候程式該怎麼寫呢?或許有人會用以下的方法:
        if(filepath的副檔名為jpg)
                使用開啟jpg的函式;
         if(filepath的副檔名為png)
                 使用開啟png的函式;
.................
如果支援的格式愈多,條件判斷式勢必會增加,在這樣的情況下,程式會變得愈來愈難維護。比較好的方法應該是以下這種方式:
openfile(filepath);
把開啟檔案的功能獨立為一個功能,讓程式碼更為簡潔,但函式裡面的方法又該如何實作呢?這個時候就可以使用多型的方法。
以下的程式是一個簡單的程式:
 class shade
 {
          private int x,y;
          public shade(int x, int y)
          {
                   this.x = x;
                   this.y = y;
          }
  
          public virtual void print()
          {
                   Console.WriteLine("這是形狀,座標為({0},{0})",x,y);
          }
 }
(繼續閱讀...)
文章標籤

卑微研究生 發表在 痞客邦 留言(1) 人氣(4,091)

  • 個人分類:物件導向
▲top
1

熱門文章

  • (2,253)TGRE與研究所
  • (902)ADO Entity Framework跟LINQ to SQL的差別
  • (862)這是殺庫啦
  • (611)藝術家性格?!
  • (490)九把刀.樓下的房客
  • (172)SilverLight - 從JavaScript呼叫.NET物件
  • (67)網誌主題曲.五分亭之會
  • (43)儞已經死了
  • (11)恐佈的台北交通
  • (5)涼宮春日的相關連結

文章分類

  • 料理 (1)
  • 布袋戲 (9)
  • KUSO (21)
  • ACG (19)
  • 閱讀 (4)
  • 物件導向 (2)
  • 未分類文章 (53)
  • 網誌主題音樂 (14)
  • XBOX開發相關 (5)
  • 翻譯文章 (3)
  • 其它技術 (25)
  • 毒舌評論 (11)
  • 技術學習 (11)
  • .Net 技術 (135)
  • 未分類文章 (1)

參觀人氣

  • 本日人氣:
  • 累積人氣:

Google

最新留言

  • [22/01/16] 訪客 於文章「各家電視布袋戲簡介...」留言:
    該更新囉...
  • [22/01/05] 訪客 於文章「ASP.NET MVC 教學 Part ...」留言:
    如果對軟體積木有興趣, 可以參考一下, 謝謝: 「用 AS...
  • [21/11/23] 英文編修潤稿 於文章「[C# 2.0]使用Generic Co...」留言:
    如何為論文定合適的標題? 歡迎訂閱Uni-edit學術論文寫...
  • [20/12/06] 小小書僮 於文章「多型的概念...」留言:
    大大寫得很好,受教了。小提醒,形狀應該是shape...
  • [20/05/22] 百合 於文章「[C# 2.0]使用Generic Co...」留言:
    Uni-edit 論文英文編修服務,將分享更多客戶使用的經驗...
  • [20/03/18] Uni-edit Taiwan 於文章「[C# 2.0]使用Generic Co...」留言:
    Uni-edit的客戶回饋: 我的第一篇由Uni-edit...
  • [19/10/06] yezx18 於文章「各家電視布袋戲簡介...」發表了一則私密留言
  • [19/10/06] yezx18 於文章「天宇終究也只是一個扶不起的阿斗...」發表了一則私密留言
  • [18/06/20] w309907 於文章「[Python] 令新手驚呆的 **kw...」留言:
    x8zYWyR2wqgjpB奢侈品仿牌原單品質良心賣家,誠信...
  • [17/12/22] Golden Editing 於文章「圖學廣度Paper報告...」留言:
    Golden English editing 全新線上全英...