본문 바로가기
  • soobinhand의 기술 블로그
728x90

디자인 패턴4

[디자인 패턴] Template Method Pattern 목적 알고리즘의 뼈대를 정의하고 일부를 서브 클래스로 위임함. 템플릿 메소드는 알고리즘 구조를 변경하지 않고 알고리즘의 일부 내용을 서브 클래스에서 재정의할 수 있도록 함. 문제 상황 알고리즘들을 캡슐화시키면서 중복되는 코드가 여러 클래스에 존재함. 해결 방안 알고리즘의 중복되는 부분을 부모 클래스에 캡슐화시키고 달라지는 부분만 서브 클래스에서 구현. 결과 중복되는 코드를 줄임. 유지 보수에 유리함. 코드 https://github.com/Soobinhand/Design_Pattern GitHub - Soobinhand/Design_Pattern: 디자인 패턴 연습 디자인 패턴 연습. Contribute to Soobinhand/Design_Pattern development by creating an .. 2021. 12. 14.
[디자인 패턴] MVC Pattern 목적 업무 로직 및 데이터와 보이는 부분을 분리. 사용자 인터페이스 로직이 비즈니스 로직보다 더 자주 바뀐다면 MVC를 사용하는 것이 바람직함. 화면을 포함하는 사용자 인터페이스와 업무 처리 부분을 분리해서 동작할 수 있도록 함. 문제 상황 데이터와 해당 데이터를 보여주는 부분의 코드가 섞여 있음. 해결 방안 데이터와 뷰를 분리하고 이들을 연동시키는 컨트롤러를 추가. 결과 loose coupling, 재사용성 코드 https://github.com/Soobinhand/Design_Pattern GitHub - Soobinhand/Design_Pattern: 디자인 패턴 연습 디자인 패턴 연습. Contribute to Soobinhand/Design_Pattern development by creatin.. 2021. 12. 14.
[디자인 패턴] Composite Pattern 목적 부분-전체 계층 구조를 보일 수 있도록 객체들을 트리 구조로 구성. Composite pattern은 클라이언트로 하여금 각 객체와 객체의 묶음을 동일하게 다룰 수 있도록 함. 문제 상황 프로그램에서 각각의 객체 또는 계층 구조로 이루어진 객체 묶음을 다루어야 함. 해결 방안 개별 객체와 복합 객체에 대해 동일한 작업을 적용시킬 수 있도록 함. 대부분의 경우에 개별 객체와 복합 객체의 차이를 무시할 수 있도록 함. 결과 유지 보수에 유리함. 코드 https://github.com/Soobinhand/Design_Pattern 2021. 12. 14.
[디자인 패턴] Adapter Pattern 목적 클래스의 인터페이스를 클라이언트가 원하는 형태의 또 다른 인터페이스로 변환합니다. 어댑터는 호환되지 않는 인터페이스 때문에 동작하지 않는 클래스들을 함께 동작할 수 있도록 만들어줍니다. 문제 상황 사용 객체의 API가 서로 다름. 해결 방안 함수를 변환하는 객체를 중간에 넣어줍니다. 결과 변경 최소화 코드 https://github.com/Soobinhand/Design_Pattern GitHub - Soobinhand/Design_Pattern: 디자인 패턴 연습 디자인 패턴 연습. Contribute to Soobinhand/Design_Pattern development by creating an account on GitHub. github.com 2021. 12. 13.
728x90