티스토리 뷰

IT Skills/Programming

C# 인터페이스

E-yarn 2013. 5. 6. 16:04

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

namespace ConsoleApplication1
{
    interface ILogger
    {
        void WriteLog(string message);
    }

    class ConsoleLogger : ILogger
    {
        public void WriteLog(string message)
        {
            Console.WriteLine("{0} {1}", DateTime.Now.ToLocalTime(), message);
        }
    }

    class FileLogger : ILogger
    {
        private StreamWriter writer;

        public FileLogger(string path)
        {
            writer = File.CreateText(path);
            writer.AutoFlush = true;
        }

        public void WriteLog(string message)
        {
            writer.WriteLine("{0} {1}", DateTime.Now.ToShortTimeString(), message);
        }

        class ClimateMonitor
        {
            private ILogger logger;
            public ClimateMonitor(ILogger logger)
            {
                this.logger = logger;
            }

            public void start()
            {
                while (true)
                {
                    Console.Write("온도를 입력해주세요.:");
                    string temperature = Console.ReadLine();
                    if (temperature == "")
                        break;

                    logger.WriteLog("현재온도 : " + temperature);
                }
            }
        }


        class Program
        {
            static void Main(string[] args)
            {
                ClimateMonitor monitor = new ClimateMonitor(new FileLogger("MyLog.txt"));
                monitor.start();
            }
        }
    }
}

'IT Skills > Programming' 카테고리의 다른 글

어셈블리 개념 정리  (0) 2015.10.08
[C#] 텍스트박스에 숫자만 입력받도록 하기.  (4) 2015.09.04
JAVA 전쟁 프로젝트  (0) 2013.05.06
C# -- 동물농장  (0) 2013.04.29
C# - 동물농장 참고자료#2  (0) 2013.04.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함