iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 9
0
自我挑戰組

Framework 設計原則系列 第 9

Types 設計原則(4) - Interface, Struct

本文重點

  1. Interface設計原則
  2. Struct設計原則

Interface設計原則

1.如果某些方法是共通的,會被各種其他不同Type呼叫,用Interface

2.當class已經繼承其他class,但又需要呼叫別的方法,用Interface宣告方法

3.只少要有一個class來實作interface

4.interface寫好用至少要有一個class去呼叫他

2~4不就是在確保別做白工??

5.不要隨便在前人的interface加上member

不然實作他的方法會錯賽,因為有新的方法需要implement

6.除了上述的情況,大部分還是建議用abstract class

Struct設計原則

  1. 不要提供預設的建構子
  2. 不要有可變的Type
    不好的 XXXX*
public struct ZipCode{
    int fiveDigitCode;
    public int FiveDigitCode { get; set }
}

好的 VVVV*

public struct ZipCode{
    int fiveDigitCode;
    public ZipCode(int fiveDigitCode){...}
    public int FiveDigitCode { get; }
}
  1. 繼承 IEquatable<T>

為了可以用 .Equals 方法


上一篇
Types 設計原則(3) - Abstract Class , Static Class
下一篇
Types 設計原則(5) - Enum
系列文
Framework 設計原則30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言