A2Pro THPT Buôn Ma Thuột [2007-2010]


You are not logged in. this website requires you to be logged in. please log in and try again !
A2Pro THPT Buôn Ma Thuột [2007-2010]

Thành lập năm 2008, từng là một diễn đàn lớp với tất cả tình cảm mình gửi gắm vào. Giờ đây là nơi lưu trữ những thứ lặt vặt mình lượm lặt được trong học tập, công việc và cuộc sống !


Decorator Pattern

Share
avatar
FR
Silver Dragon
Silver Dragon

Gender : Nam

Posts Posts : 1089
Thanked : 660
Coins Coins : 6615
Tham Gia : 26/08/2008
Birthday : 05/08/1920

Status Status : Sẽ ra sao nếu như, tao là mày và mày là tao ?

Decorator Pattern

Bài gửi by FR on 10/10/2014, 11:26

A example about Decorator Pattern in C# 04

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

namespace Decorator
{
    public interface IComputer
    {
        string description();
    }
    public class Computer:IComputer
    {
        public Computer()
        {
        }
        public string description()
        {
            return "computer";
        }
    }
    
    public class Disk : IComputer
    {
        IComputer computer;
        public Disk(IComputer c)
        {
            computer = c;
        }
        public string description()
        {
            return computer.description() + " and a disk";
        }
    }
    public class CD : IComputer
    {
        IComputer computer;
        public CD(IComputer c)
        {
            computer = c;
        }
        public string description()
        {
            return computer.description() + " and a CD";
        }
    }

    public class Monitor : IComputer
    {
        IComputer computer;
        public Monitor(IComputer c)
        {
            computer = c;
        }
        public string description()
        {
            return computer.description() + " and a monitor";
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            IComputer c = new Computer();
            Console.WriteLine("You're getting a "+new CD(new CD(new Monitor(new Disk(c)))).description());
        }
    }
}

    Hôm nay: 25/4/2017, 11:50