在藍色小舖看到滿有趣的問題,促使我想寫這份小品系列:以字串陣列解析為強型別物件探討幾種可能的方式。
這兩天在藍色小舖看到一個滿有趣的問題 -- 程式重構(DRY) ,為了避免以後小舖突然失蹤看不到原文,將問題截圖如下:
先不管甚麼 DRY 不 DRY ,在解析字串陣列轉換成強型別物件這個需求上,就設計上而言,我大致想到以下幾種手法:
- 第一種是讓每個資料型別負責自己的解析方式,也就是每個物件知道自己如何解析一組字串陣列,並將其對應到自身的 Properties 上。
- 第二種類似第一種,但是將解析的實作放在外部,然後再引入使用。
- 第三種則是外部公用程式的解析方式,就像大家常用 Json.Net 來轉換 Json string 為強型別物件的方式。資料型別本身並不具備轉換的程式碼,而是由 Json.Net 全權處理轉換事宜。
以上每一大類還有各式不同實作方式,這份系列文將會探討我所能想得到方法;只是份小品,有趣就好。