顯示具有 軟體工程 標籤的文章。 顯示所有文章
顯示具有 軟體工程 標籤的文章。 顯示所有文章

2014年8月5日 星期二

抽象工廠模式(Abstract Factory)

  • 抽象工廠特性:
    • 意義在於在工廠內,把產品抽象出來,交由實體工廠生產,產品可以由不同元件(object)所合成,客製化生產不同類別的產品,讓各個實體工廠可以去實作實際的生產細節
    • 應用的OO精神 :多用合成(Composition),少用繼承(Inheritance)
    • 這邊合成的意思是於Client端只會應用interface(例如:AbstractFactory)來生產各種產品,而不需要明白指定是哪種實體的產品(concrete product),也不需要知道AbstractFactory會怎麼合成產品的細節,AbstractFactory會封裝工廠的產品生產過程,Client 端只需要會使用抽象工廠即可,不需要去明白工廠製作細節
    • 網路上各種例子表示抽像工廠和工廠方法的界定十分模糊,這裡的Abstract Factory的"Abstract"只是一個觀念,並非一定要用Java 或C#語言中的Abstract Class 修飾詞(modifier),有時候可以用Interface來實作,有時候會使用Abstract,因此符合上述概念,抽象工廠模式有相當大的實作彈性

2014年7月20日 星期日

簡單工廠模式(Simple Factory)

  • 簡單工程模式又稱作靜態工廠方法(static Factory Method),這個模式的主要特色是把物件生產的細節封裝起來交給Factory生產,客戶端只需要傳遞生產參數給Factory的靜態方法,進而產生相對的物件,不需要處理製造細節
  • 這個單一工廠可以完全負責產品的生產流程,不需要依賴其他工廠製造物件(否則就需要採取抽象工廠模式)
  • 應用的物件導向守則:
    • 物件要開放擴充新類別、關閉修改舊類別
    • 將物件中不允許修改的部份給以封裝
    • 需要被擴充的部份便開放複寫(override)

2011年9月4日 星期日

Nunit和Visual Stidio的比較

如果在開發 .NET專案的平台上,目前市面上最常見的單元測試工具就屬於Nunit和Visual Studio Testing tool 兩大陣營為主了,簡單分析一下兩者的特色和重點:

Visual Studio Testing tool: 
  1. 和.Net project 整合力強,提供的測試工具多元
  2. 商業軟體(微軟甚至把Testing tools和IDE的開發環境拆開來賣)
Nunit
  1. 免費的自由軟體
  2. 輕巧方面,並且彈性且延展度高(並不只限至於測試.NET的project,連C++和Java等都可測試)