본문 바로가기

Fundamental/Design Pattern

(11)
[디자인 패턴] 1. 전략 패턴(Strategy Pattern) 전략/정책 패턴(Strategy Pattern)객체의 행위를 전략 또는 정책, 즉 상황에 따라 바꿔 끼워서 사용할 수 있도록 행위를 캡슐화하는 설계 패턴이다. 객체의 행위가 추후 변경되거나 추가될 가능성이 많을 때 효과적이다.오리 시뮬레이션 게임, SimUduck   어느 한 게임 회사에서 오리를 시뮬레이션 하는 게임을 개발 중이었는데, 다른 게임 개발사와 차별화 시키기 위해서 기존 오리들 객체 행위에 날아다니는 행위를 추가하기로 결정했다.   MarllarDuck, RedheadDuck과 같은 모든 구상 클래스들에 fly()를 추가하는 건 효율적이지 않으니, 상속의 특징을 활용해서 부모 클래스인 Duck 클래스에 fly()를 추가하면, 아주 효율적으로 모든 오리 객체들이 날아다니는 행위를 할 수 있을 ..
Multi-Tier Architecture란? 1. Multi-tier Architecture? Multi-tier Architecture는 애플리케이션을 n개의 여러 계층으로 나누어 개발하는 아키텍처입니다. 가장 많이 사용되는 3-Tier Architecture는 애플리케이션을 3개의 논리적/물리적 계층으로 나누는 소프트웨어 아키텍처입니다. 계층으로는 프레젠테이션 계층, 애플리케이션 계층, 데이터 계층이 있습니다. 1) 프레젠테이션 계층(Presentation Tier) 유저가 애플리케이션과 상호작용할 수 있는 UI(User Interface) 계층입니다. 주요 목적은 사용자에게 정보를 표시하고, 사용자의 데이터를 수집하는 것입니다. 웹 애플리케이션의 경우, 일반적으로 HTML, CSS, JavaScript를 사용해 개발합니다. 2) 애플리케이션 ..
소프트웨어 아키텍처 패턴(Software Architectural Pattern) 아키텍처 패턴(Architectural Pattern)은 소프트웨어 설계 단계에서의 반복되는 문제를 해결하기 위한 방법론으로, 시스템의 청사진과 같습니다. 구축 단계에서 실제 구현에 사용되는 디자인 패턴(Design Pattern)과는 범위적으로 다르다고 할 수 있습니다. 목차 1. MVC 패턴 2. MVP 패턴 3. MVVM 패턴 1. MVC 패턴 Model-View-Controller 조합의 설계 패턴으로,가장 흔히 사용되는 설계 패턴입니다. MVC 패턴에선 Application을 비즈니스 로직, 화면, 컨트롤러 로직으로 나누어 설계합니다. 1) Model : 데이터, 비즈니스 로직, 규칙을 담당 2) View : Client에게 보여지는 UI를 담당 3) Controller : Client의 요청..