控制反轉,依賴注入不在此文做介紹,這裡主要介紹一種實現方式unity。由於在工作中會遇到客戶需求相同,實現方式不同的問題;譬如客戶的伺服器會傳來xml格式的資料或者json格式的資料,譬如上傳伺服器檔案是傳到ftp伺服器或是傳到資料庫中。這些當然也能用if else來判斷,但是我們決定還是用介面來實現。接下來我就來介紹unity自己寫的乙個demo。
2.新建乙個序列化和反序列化的介面以及兩個類,**如下:
注意事項:配置檔案中container中的unityconsole是命名空間,iserialize是介面,mapto中xmlserialize是實現介面的類using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace unityconsole
public class xmlserialize : iserialize
public string serialize(object obj)
public string version()
}public class jsonserialize : iserialize
string iserialize.serialize(object obj)
string iserialize.version()
}}
<?xml version="1.0" encoding="utf-8" ?>
xmlserialize可替換成jsonserialize
4.在專案中新增引用system.configuration
5.在主程式中分別新增
using microsoft.practices.unity.configuration;
using system.configuration;
using unity;
6.主函式**如下:
using (iunitycontainer container = new unitycontainer())
", serialize.version());
}console.readline();
注意事項:在這個小demo中主要是將配置檔案和介面**在了一起,具體呼叫哪個類通過配置檔案就可以實現自由切換,不再需要主程式去做判斷,這個事情從主程式移交給了unity來實現。 學會在工作中成長與分享
從畢業到現在轉眼十年,十年風風雨雨一路走來,所發生的一切,也大大出乎我對自己未來的種種設想。回想過去,許多事情歷歷在目,也有許多變得模糊,掩埋在了逝去的歲月之中。也許應該抽點時間認真整理一下了,不為自戀和消遣,而是為了更好地面向未來。記錄下那些成長的足跡,我們才會不浪費任何乙個生命的細節,從中感悟和...
在工作中找尋價值
我遇到很多程式設計師都說自己的工作很無聊,很無趣,想跳槽幹點更有技術含量的 更有挑戰性 甚至是更炫的工作。還有些人一邊罵現有的專案,一邊找新的工作。其實除非你能從頭參與乙個專案的開發,到了新的專案也差不多,很難滿足你的要求。現在有幾個專案是從頭來的呢?大部分的專案都是處於維護狀態,就是對新需求在老 ...
HTML在工作中的使用
本文是在學習html的時候,心血來潮嘗試的做法。純屬瞎玩,不可當真。工作中編輯郵件 在管理系統上進行任務編輯 描述時,都可能會使用到html的簡單知識。有一些簡單的標籤可以幫助我們更好的完成工作,比如字型加粗 換行等。比如我在辦公系統上編輯乙個task的時候使用了html,使得這個task的描述展示...