본문 바로가기

소프트웨어공학/디자인 패턴2

[디자인 패턴] 데코레이터 패턴과 클로저 기능(python, java 관점) ㅁ데코레이터 패턴(Decorator Pattern): 객체에 새로운 기능을 동적으로 추가하는 구조적 디자인 패턴"기존 코드를 수정하지 않고"도 기능을 확장할 수 있어 유지보수성과 확장성이 뛰어나다! [데코레이터 패턴의 특징]기존 코드 변경 없이 기능 추가 가능상속(Inheritance)과 차별화된 방식상속 - 기존 클래스를 확장하여 기능을 추가하는 방식데코레이터 패턴 - 기존 객체를 감싸(wrapping) 추가적인 기능을 부여하는 방식유연한 구조(여러 개의 데코레이터를 조합하여 다양한 기능을 적용할 수 있다) e.g. 안드로이드에서의 활용안드로이드 개발에서 다양한 컴포넌트들은 데코레이터 패턴을 활용하여 구현되어 있다. 대표적인 예로 Drawable을 감싸는 LayerDrawable이나, View의 기능을.. 2025. 3. 7.
[디자인 패턴] MVC 패턴(Model-View-Controller Pattern) MVC패턴은 디자인 패턴 중 하나이다애플리케이션을 세 가지 주요 컴포넌트로 분리하여 관리하고 이를 통해 코드의 재사용성, 유지보수성, 확장성을 높인다구조는 쉽게 말하면, View 단과 Model 단이 있고 그 사이에 Controller 단이 껴서 중재하는 구조이다 MVC 패턴의 구성 요소Model (모델)역할: 애플리케이션의 핵심 데이터와 비즈니스 로직을 담당한다. DB와의 상호작용, 데이터의 생성, 수정, 삭제 등의 작업을 수행예시: 사용자 정보, 상품 목록, 주문 내역 등 실제 데이터와 관련된 부분View (뷰)역할: 사용자에게 데이터를 표시하는 UI 역할을 한다. 사용자 인터페이스 요소(HTML, CSS, JavaScript 등)를 생성하여 데이터를 시각적으로 표현예시: 웹 페이지의 템플릿, 대시보.. 2024. 10. 1.