我想要做的就是使用類中每個方法返回的值進行一些操作。對每個方法的返回值採取的操作
因此,舉例來說,如果我有一個Order類具有方法
public Customer GetCustomer()
{
Customer CustomerInstance = // get customer
return CustomerInstance;
}
比方說,我想記錄這些的創造 - 日誌(CustomerInstance);
我選項(據我所知)是:返回對象之前,每一種方法
通話記錄()。我不是這樣的粉絲,因爲如果在很多方法上使用它,它會變得很笨重。這也不是該方法目的的固有部分。
使用組合物或繼承到層日誌卡隆類似於Order類:
公共客戶GETCUSTOMER()
{
顧客CustomerInstance = this.originalCustomer.GetCustomer(); Log(CustomerInstance);
return CustomerInstance;
}
我不認爲這會爲我購買任何超過#1的東西。在每個返回的類型創建擴展方法:
顧客CustomerInstance = Order.GetCustomer()日誌();
其缺點同樣多。
我正在爲每個(或幾乎每個)返回的對象執行此操作,如果可能,會自動執行此操作,而無需編寫雙倍的代碼量。我覺得我要麼試圖彎曲語言去做一些不應該做的事情,要麼就是沒有認識到可以實現這一點的語言功能。可能的解決方案將不勝感激。