๋ ๊ฑฐ์(์ ์ฐ) ์ฝ๋๋ ์ ๊ทธ๋ ์ด๋์ ๊ฐ๋ณํ ์ฃผ์๊ฐ ํ์ํ๋ค.
์ด๊ธฐ ๋ฒ์ ์ ์ค๊ณํ ๋ ๋์น ๋ฉ์๋๋ฅผ ์ธํฐํ์ด์ค์ ์์ ํ๊ฒ ์ถ๊ฐํ ์ ์์๊น?
๋ค์๊ณผ ๊ฐ์ด ๋ฌด์์ ILogger์ ์ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๋ค๊ณ ํด๋ณด์...
interface ILogger
{
void WriteLog(string message);
void WriteError(string error); //์๋ก์ด ๋ฉ์๋ ์ถ๊ฐ
}
๊ทธ ๊ฒฐ๊ณผ ILogger๋ฅผ ์์ํ๋ ๋ชจ๋ ํด๋์ค์ ๋ํด
'์ธํฐํ์ด์ค ๋ฉค๋ฒ๋ฅผ ๊ตฌํํ์ง ์๋๋ค.'๋ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค.
ํ์ํด๋์ค๋ ์ธํฐํ์ด์ค์ ๋ชจ๋ ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ ๊ฒ์ด ๊ธฐ๋ณธ ๊ท์น์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๊ธฐ๋ณธ ๊ตฌํ ๋ฉ์๋๋ ์ด๋ฐ ์ํฉ์์ ์๊ธดํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
์ธํฐํ์ด์ค์ ์๋ก์ด ๋ฉ์๋๋ฅผ ์ถ๊ฐํ ๋ ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ์ฒด๋ฅผ ๊ฐ๋๋ก ํด์
๊ธฐ์กด์ ์๋ ํ์ ํด๋์ค์์ ์ปดํ์ผ ์๋ฌ๋ฅผ ๋ง์ ์ ์๋ค.
๋ค์์ ์ธํฐํ์ด์ค ๊ธฐ๋ณธ ๊ตฌํ ๋ฉ์๋์ ์์ด๋ค.
interface ILogger
{
void WriteLog(string message);
void WriteError(string error)
{
WriteLogp($"Error: {error}");
}
}
์ธํฐํ์ด์ค์ ๊ธฐ๋ณธ ๊ตฌํ ๋ฉ์๋๋ ์ธํฐํ์ด์ค ์ฐธ์กฐ๋ก ์ ์บ์คํ ํ์ ๋๋ง ์ฌ์ฉํ ์ ์๋ค๋ ์ ๋๋ฌธ์
ํ๋ก๊ทธ๋๋จธ๊ฐ ํ์ ํด๋์ค์์ ์ธํฐํ์ด์ค์ ์ถ๊ฐ๋ ๋ฉ์๋๋ฅผ ์๋ฑํ๊ฒ ํธ์ถํ ๊ฐ๋ฅ์ฑ๋ ์๋ค.
๋จ..... ๊ธฐ๋ณธ ์ธํฐํ์ด์ค ๊ตฌํ ๊ธฐ๋ฅ์ C# 8.0 ๋ฒ์ ์ด์์์๋ง ์ฌ์ฉ๊ฐ๋ฅํ๋ค!
๊ฐ์คํ๊ณ
ํด๋์ค์์ ์ธํฐํ์ด์ค์ ์ถ๊ฐ๋ ๋ฉ์๋๋ฅผ ์๋ฑํ๊ฒ ํธ์ถํ ๊ฐ๋ฅ์ฑ๋ ์๋ค.
์์ ์บก์ฒ์์
๋ง์ง๋ง ์ค์ ์๋ clogger.WriteError() ํธ์ถ์ด ์ปดํ์ผ ์๋ฌ๋ฅผ ์ผ์ผํค๋๋ฐ
์ด๋ ConsoleLogger๊ฐ WriteError()๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฆ, ์ธํฐํ์ด์ค์ ์ ์ธ๋ ๊ธฐ๋ณธ ๊ตฌํ ์ธํฐํ์ด์ค๋ ํ์ ํด๋์ค์ ์ฐธ์กฐ๋ก ํธ์ถํ ์ ์๋ค.
'C# > ์ด๊ฒ์ด C#์ด๋ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
40. ์๋ ๊ตฌํ ํ๋กํผํฐ (0) | 2022.02.22 |
---|---|
39. ํ๋กํผํฐ ๊ธฐ๋ณธํ ์ ์ธ (0) | 2022.02.22 |
38. ์ธํฐํ์ด์ค ์์ 1, 2 ๋ณต์ต (0) | 2022.02.22 |
37. ์ถ์ํด๋์ค : ์ธํฐํ์ด์ค์ ํด๋์ค ์ฌ์ด (0) | 2022.02.22 |
35. ์ธํฐํ์ด์ค ๋ค์ค ์์ (0) | 2022.02.15 |