일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DrawRectangle
- C# MDB Handle
- 경기도 버스
- 시
- DrawEllipse
- GDI+
- sqlite3
- 디자인 패턴
- Json.NET
- MDB Select
- Cell Border Style
- Winform
- JSON
- MVC
- delegate
- Excel Cell Format
- NUnit
- C# MDB
- 객체지향
- MDB Connect
- c#
- C# 파일 암/복호화
- 버스 API
- 경기도 버스정보시스템
- WPF
- TDD
- eventhandler
- 공공 데이터 포털
- eventargs
- solid
- Today
- Total
White Whale Studio
객체지향 개발을 위해서는 캡슐화를 잘 하라고 합니다. 캡슐화는 내부적으로 기능 구현을 어떻게 한건지 숨기는 것을 말합니다.메서드 내부에 기능구현이 변경되더라도 해당 메서드를 호출하는 코드에서는 영향을 받지 않도록 또는 최소화하기 위함입니다. 절차지향적 구현방법과 객체지향적 방법으로 살펴보겠습니다. 123456789101112 // 절차지향 // item.getExpiryDate() => 만료 일자 데이터를 가져옴 if (item.getExpiryDate() != null && item.getExpiryDate().getDate()
템플릿 메서드 패턴은1. 실행 과정을 구현한 상위 클래스2. 실행 과정의 일부 단계를 구현한 하위 클래스로 구성됩니다. 1.번의 상위 클래스는 기능 구현 시 필요한 각 단계를 정의하며, 일부는 추상 메서드로 구성됩니다.이 추상 메서드는 하위클래스에서 구현됩니다. 간단하게 그림으로 살펴보면, 요런 모양이 되겠네요. 정리 해보면,상위 클래스는 공통기능을 구현한 템플릿 메서드와 하위 클래스에서 개별적으로 기능 구현을 할 수 있도록 규약을 지정하는 추상 메서드로 구성이 됩니다.하위 클래스는 이 상위 클래스를 상속받아서 공통기능인 템플릿 메서드는 상위 클래스의 흐름을 따르고 하위 클래스에서 개별적으로 작성해야하는 추상 메서드의 실제 구현을 수행하게 되겠네요.우선 예제로 음료를 만드는 과정으로 해당 패턴을 살펴볼까..
전략 패턴의 중점- 알고리즘을 추상화 -> 전략(Strategy) - 알고리즘을 사용하는 책임을 가지고 있는 콘텍스트(Context)에서 알고리즘(전략)을 분리하는 설계방법- 흐름 : Client가 전략을 고른다.(어떤 전략을 쓸까나~) → 선택된 전략을 Dependency Injection으로 Context에 넘겨준다. → Context는 전달받은 전략으로 초기화하여 필요한 자원(프로퍼티, 메서드 등)을 사용한다. 전략 패턴을 사용해서 콘텍스트 코드의 변경없이 새로운 전략을 추가, 수정이 용이하다는 점이다.필요한 전략을 직접 선택해서 Context에 넘겨주기 때문에 Context에서는 전략과 관련된 부분에서는 코드를 수정하는 수고를 하지 않아도 되는 것이다.주로 if-else를 사용하면서도 비스무리한 ..