非虛模式的是將呼叫介面與實際執行函式分離,呼叫介面不支援繼承(沒有多型功能),而將實現多型的功能交給具體的保護性執行函式,這樣就使得呼叫介面統一,同時不損失多型的好處。具體做法如下:
///
/// 基類
///
public class base
///
/// 實際的工作**方法,虛擬的,而且是保護的,故可以實現多型,而外部不能呼叫,就使得呼叫介面保持統一.
///
protected virtual void coredowork()
}public class derived : base
}///
/// 呼叫示例..
///
public class entrypoint
}這種模式的好處是既可以實現多型,同時還可以在**方法處增加額外的行為,而且這種行為影響所有的呼叫。
而虛方法無法實現這種既增加額外的行為又影響所有呼叫的能力。
這種方式在有些時候可以作為面向方面程式設計(aop)的一種實現方式,特別是哪些無中間語言生成的時候.。
設計模式 設計模式之工廠模式
工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...
設計模式之禪之設計模式 門面模式
1 package com.yeepay.sxf.template18 2 3 寫信的業務類 4 隱藏在門面角色裡邊,不需要暴露太多5 author sxf6 7 8public inte ce iletterprocess view code 寫信的業務類的實現 1 package com.yee...
設計模式之禪之設計模式 橋梁模式
1 package com.yeepay.sxf.template24 2 3 實現化角色 4 相當於不同的業務邏輯,抽象出共有行為5 6 產品類7 author sxf8 9 10 public abstract class product view code 房子產品實現 1 package c...