我之前對裝飾器模式的理解是,您繼承了Window和WindowDecorator,然後在重寫的方法中,在調用Window的所述方法的實現之前做一些額外的工作。以下類似: public class Window
{
public virtual void Open()
{
// Open the window
}
}
public class Loc
我與MEF實驗發現並創建了一個測試程序來調用實現某個給定的接口「插件」,它遵循新的DLL: using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ProbeContract
{
public interface IProbe
{
讓說我有一個這樣的類: public sealed class Foo
{
public void Bar
{
// Do Bar Stuff
}
}
而且我希望把它擴大到添加的東西超出了一個擴展方法可以做....我唯一的選擇是組成: public class SuperFoo
{
private Foo _internalFoo;
我這個昨天寫在一類Foo從酒吧繼承: public override void AddItem(double a, int b)
{
//Code smell?
throw new NotImplementedException("This method not usable for Foo items");
}
納悶隨後,如果這是一個可能的跡象,我應該使用一個Bar,
我試圖讓下面的工作,但我不知所措...... class Foo {
public $somethingelse;
function __construct() {
echo 'I am Foo';
}
function composition() {
$this->somethingelse =& new SomethingEls