C# interface以及工廠模式

virgoboy20發表於2010-08-05

C# interface定義:就是以前使用的類似於API 的東西,別人告訴你一個型別,你在心得開發過程中可以使用。

[@more@]

C# interface定義:就是以前使用的類似於API 的東西,別人告訴你一個型別,你在心得開發過程中可以使用。

比如:

  1. interface ITest
  2. {
  3. string iText();
  4. }
  5. class Test:ITest
  6. {
  7. #region ITest Members
  8. public string iText()
  9. {
  10. // TODO:Add Test.printText implementation
  11. return ("Test string.");
  12. }
  13. #endregion
  14. }
  15. class Test2:ITest
  16. {
  17. #region ITest Members
  18. public string iText()
  19. {
  20. // TODO:Add Test.printText implementation
  21. return ("Test2 string.");
  22. }
  23. #endregion
  24. }
  25. class Factory
  26. {
  27. public static ITest create(int itype)
  28. {
  29. if(itype==1)
  30. {
  31. return new Test();
  32. }
  33. else
  34. {
  35. return new Test2();
  36. }
  37. }
  38. }
  39. private void button1_Click(object sender,
  40. System.EventArgs e)
  41. {
  42. ITest it=Factory.create(2);
  43. this.label1.Text=it.iText();
  44. }
  45. }

Test 和 Test2 都是繼承介面 ITest ,在使用ITest時候,使用了簡單的Factory模式來建立,本來是使用了Rose來畫一個UML模型上來也許講解的更詳細,但是Rose也是這次學習的一點,所以沒有使用會,正在研究中.

1、介面Interface : 並不是我想象的那麼可怕,如果我簡單的理解就是一個戶口登記的地方,在這裡登記的使用者(方法),在他的兒子(實現介面的型別: Test ,Test2)中,就必須承認Interface中的人員的存在,並且必須給安排一個位置(實現介面的內容)。所以介面的最簡單的好處就是:保持了繼承型,使更多的人聯絡起來。

2、工廠模式:Facory Model:最開始接觸這些東西是在Patterns In Java 的PDF中看到的,因為模式的程式設計方式是對介面程式設計的,所以開始理解這些方面的時候理解上有問題了。現在總算能明白一點點了。工廠模式就是(ITest)的新生兒(介面的實現類: Test,Test2)的戶口登記處,到時候不管你要用那個兒子,只需要在這注冊一下,就OK了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8780503/viewspace-1036192/,如需轉載,請註明出處,否則將追究法律責任。

相關文章