algorytm.org

Implementacja w C#

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Pyłek (flyweight) - Implementacja w C#
Ocena użytkownikóww: *****  / 11
SłabyŚwietny
Nadesłany przez Kamil Dworak, 22 grudnia 2010 12:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

flyweight.cs:
/****************************************
*   Wzorzec Projektowy FlyWeight        *
*   (pylek)                             *   
*   www.algorytm.org                    *
*   Kontakt                             * 
*   kamil.dworak.1988[malpka]gmail.com  *
*   Opracowal Dworak Kamil              *
*****************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {

        interface Posilek {
        	String dawajNazwe();
        }


        class Pizza : Posilek {
	        public String dawajNazwe(){
	        	return "Pizza";
	        }
        }


        abstract class Zmiana : Posilek {
        	protected Posilek posilek;
	        protected Zmiana(Posilek p){
	        	this.posilek = p;
	        }
            public abstract String dawajNazwe();
        }


        class Sos : Zmiana {
	        public Sos(Posilek posilek) : base(posilek){
            }

	
	        public override String dawajNazwe(){
		        return posilek.dawajNazwe() + " + sos";
		    }
        }   


        class Ser : Zmiana {
	        public Ser(Posilek posilek) : base(posilek){
	        }
	
	        public override String dawajNazwe(){
		        return posilek.dawajNazwe() + " + ser";
		    }
        }


        static void Main(string[] args)
        {
            Posilek posilek = new Pizza();
            posilek = new Sos(posilek);
            Console.WriteLine(posilek.dawajNazwe());
            posilek = new Ser(posilek);
            Console.WriteLine(posilek.dawajNazwe());
            Console.ReadLine();
        }
    }
}
Dodaj komentarz