Decorator Pattern

Eenvoudig voorbeeld decorator pattern:


 

namespace Decorator 
{ 
    public interface IHuman 
    { 
        void show(); 
    } 
    public class mens : IHuman 
    { 
        void IHuman.show() 
        { 
            System.Windows.Forms.MessageBox.Show("ik ben mens"); 
        } 
    } 
    public class man : IHuman 
    { 
        private IHuman h; 
        public man(IHuman h) 
        { 
            this.h = h; 
        } 
        void IHuman.show() 
        { 
            h.show(); 
            System.Windows.Forms.MessageBox.Show("en ik ben een man"); 
        } 
    } 
    
    public class vrouw : IHuman 
    { 
        private IHuman h; 
        public vrouw(IHuman hum) 
        { 
            this.h = hum; 
        } 
        void IHuman.show() 
        { 
            h.show(); 
            System.Windows.Forms.MessageBox.Show("en ik ben een vrouw"); 
        } 
    } 
}


Gebruik als volgt:

 

 
IHuman ih; 
ih = new mens(); 
ih = new man(ih); 
ih = new vrouw(ih); 
ih.show();

Nu worden de messageboxen van zowel de mens class als de man class als de vrouw class getoond. Je kunt dus je bestaande class naar gelang uitbreiden met functionaliteiten.

{{opmerking.Naam}}:

{{opmerking.OpmerkingText}}

            

Saving your comment....

Naam is verplicht!
Email is verplicht!
Opmerking is verplicht!