More Programmings/Design Pattern

OCP(Open-Closed-Principle)- 클래스는 확장에 대해서는 열려 있어야 하지만 코드 변경에 대해서는 닫혀 있어야 한다. 데코레이터1. 데코레이터의 수퍼클래스는 자신이 장식하고 있는 객체의 수퍼클래스와 같다.2. 한 객체를 여러 개의 데코레이터로 감싸는 것이 가능3. 자신이 감싸고 있는 객체와 같은 수퍼클래스를 가지고 있기 때문에 원래 객체의 자리에 데코레이터를 넣어도 사용 가능4. 자신이 장식하고 있는 객체에게 어떤 행동을 위임하는 것 외에 원하는추가적인 작업 수행 가능
기상 모니터링 애플리케이션 개요- 현재 조건(온도, 습도, 압력)을 보여준다.- 기상 통계를 낸다.- 간단한 기상 예보 표시 1. 현재 알고 있는 내용- 세 가지 측정값에 대한 메소드a. getTemperature()b. getHumidity()c. getPressure() - 새로운 기상 데이터 나올시마다 meaurementsChanged() 수행- display 갱신 필요- 시스템 확장 - subject 객체에서 일부 data 관리- subject 객체에서 data가 달라지면 observer에 해당 소식이 전해짐- subject의 data 변경시 갱신 내용을 전달 받음 옵져버 패턴의 정의- 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대..
1. 디자인 패턴이 생겨난 과정- 특정 기능들을 상속받는 클래스에 영향을 끼치는 것을 방지하기 위해 생겨남- 인터페이스에 대한 고민 : 인터페이스의 경우 스펙이 일부가 변경되면 전체적으로 변경해야되는 사태가 발생 2. 문제 파악- 바뀌는 부분은 미리 뽑아서 캡슐화- 행동과 관련된 인터페이스는 행동과 관련된 것들만 모아서 따로 구현 3. 디자인의 원칙- 구현이 아닌 인터페이스에 맞추어서 프로그래밍을 한다- 상속보다는 구성을 활용한다. 4. 통합- 상위 클래스에 구현되어 있는 함수들은 서브 클래스에서 제거 스트레티지 패턴(strategy Pattern): 알고리즘군을 정의하고 각각을 캡슐화해서 교환 사용이 가능하도록 만든다. 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘 변경이 가능하다.
1. MVC 가. 소프트웨어 공학에서 사용하는 설계 패턴 중 하나 나. Model-View-Controller 구조로 되어 있음 다. 구조 1) Model : business logic / data (java) 2) view : gui / design / presentation(jsp) 3) controller : view-model 상호 관리(jsp) 2. 구성 이유 가. 비즈니스 로직과 디자인의 분리 나. 비즈니스 로직의 재사용 : 디자인 변경에 대해 독립적 다. 서블릿/jsp에서 비즈니스 로직의 분리가 필요 3. 프로젝트 구성 가. servlet-context.xml : 스프링 설정 파일 나. view는 view folder 안에 저장 다. java 밑에 있는 controller package 확인..
플로쨔응
'More Programmings/Design Pattern' 카테고리의 글 목록