Leave a comment

Ciekawe i jsno wytłumaczone

Zapiski programisty .net

Zastosowanie wzorca Decorator na przykładzie produktu i ofert specjalnych.
Wzorzec ten pozwala nam na dynamiczną zmianę/rozszerzanie zachowania istniejących klas.

    public abstract class Item
    {
        public abstract int Id { get; set; }

        public abstract string Name { get; set; }

        public abstract decimal Price { get; set; }
    }

Klasa Product dziedziczy z naszej abstrakcyjnej klasy Item.

    public class Product : Item
    {
        public override int Id { get; set; }

        public override string Name { get; set; }

        public override decimal Price { get; set; }
    }

Definicja abstrakcyjnej klasy dekoratora dla typu Item, wraz z implementacją wyliczenia nowej ceny dla produktu.

 public abstract class ProductDecoratorBase : Item { private readonly Item _item; public decimal Discount { get; protected set; } public ProductDecoratorBase(Item item) { _item = item; } public override int Id { get { return _item.Id; } set { _item.Id = value; } } public override string…

View original post 162 słowa więcej

Posted 13 Maj 2012 by marekwmsdn in Bez kategorii

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: