본문 바로가기

기술사

(7)
Observer Pattern Observer Pattern 행위패턴 한 객체의 상태가 바뀌는 경우 의존관계에 있는 다른 객체들에게 연락이 가고, 자동으로 그 내용이 갱신되도록 일대다 의존성을 정의한 패턴 인터페이스 : subject,observer class : concreatesubject,concreate observer 패턴 푸시,풀
Adapter 패턴 Adapter 패턴 구조패턴 클래스의 재사용성을 높이기 위해 요구되는 특정 기능으로 변환, 적용하여 클래스의 호환성을 높이는 패턴 Target 클라이언트가 사용하는 특정한 인터페이스를 정의 Client Target 인터페이스를 구현하는 오브젝트를 사용. Adaptee 변화의 대상이 되는, 이미 존재하는 인터페이스를 정의 Adapter Adaptee의 인터페이스를 Target의 인터페이스에 적합하도록 변환 활용 모듈 비호환 재사용필요
싱글톤 패턴(디자인패턴) singleton 싱글톤 패턴 생성패턴 오직 하나의 인스턴스만 생성하고 어디서나 인스턴스 접근가능 장점 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지할 수 있음 또한 싱글톤으로 만들어진 클래스의 인스턴스는 전역 인스턴스이기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기 쉽다. DBCP(DataBase Connection Pool)처럼 공통된 객체를 여러개 생성해서 사용해야하는 상황에서 많이 사용. (쓰레드풀, 캐시, 대화상자, 사용자 설정, 레지스트리 설정, 로그 기록 객체등) 안드로이드 앱 같은 경우 각 액티비티나 클래스별로 주요 클래스들을 일일이 전달하기가 번거롭기 때문에 싱글톤 클래스를 만들어 어디서나 접근하도록 설계하는 것이 편하기 때문... +..
factory 패턴 (디자인패턴) Factory패턴 생성패턴 GoF(Gang of Four) 디자인패턴에서 생성패턴 중에 하나로, 객체를 생성하기 위해 인터페이스를 따로 정의하여 어떤 클래스를객체를 생성하는 일을 하위클래스가 담당하도록 하는패턴 적용시기 : 객체에 대한 클래스를 예상불가,생성객체를 기술하는 책임을 서브클래스에 정의하고자할때, 서브클래스에게 위임시 패토리 패턴 참여객체 Product팩토리 메소드가 생성하는 객체의 인터페이스 Concreteproductproduct클래스에 정의된 인터페이스 실제구현 Creator Product타입의 객체를 반환하는 팩토리 메소드 선언 ConcreteCreatorconcreteProduct의 인스턴스를 반환하기 위해 팩토리 메소드 재정의
디자인패턴 디자인패턴 생구행 생싱팩 구어퍼 행스템 생싱팩 구어퍼 행스템, 생성패턴(싱글톤, 팩토리) 구조패턴(어댑터, 퍼사드)행위패턴(스트래터지, 템플릿) 생성:객체 인스턴스 생성을 위한 패턴 클래스 정의와 객체 생성 방식 구조화, 캡슐화 방법 제시 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다. (ABFPS) - Abstract Factory, Builder, Factory method, Prototype, Singleton 구조:다른 기능을 가진 객체간 협력 필요시 객체를 조직화하는 방법제시, 기능을 구현하기 위해 객체를 구성하는 방식자체에 초점 (ABCDFFP) - adaptor, Bridge, Composite, Decorator,..
객체지향 특징(캡추다정상) 추상화 기자제 몇 가지 공통 속성을 가지지만 서로 다른 속성도 가지는 객체를 집단화 하는 과정 공통의 성질을 추출하여 super class를 설정 - 복잡한 것을 단순화/간결화, 공통 데이터/기능 도출 - 클래스를 이용 데이터와 프로세스를 함께 추상화 - 명사에 데이터 추상화(type부여) - 동사에 기능의 추상화(method부여) 기능추상화 Obj.getName() 자료추상화 String, Class 제어추상화 If, for, while abstract class GraphicObject { //Super Class int x, y; void moveTo(int newX, int newY) { … } abstract void draw(); } class Circle extends GraphicObjec..
SOLID 객체지향 기본원칙 SRP(Single Responsibility) : 단일책임원칙 OCP(Oepn Cloased): 개방폐쇄원칙 LSP(the Liskov Substitution Principle): 리스코프 치환원칙 ISP(Interface Segregation Principle) : 인터페이스 분리설계원칙 DIP(The Dependency Inversion Principle): 의존성 주입 SRP (Single Responsibility Principle) 단일책임원칙 객체는 단 한 개의 책임(역할)만을 가져야 한다는 내용으로, 객체를 변경해야 하는 이유는 단 하나여야 한다는 원칙 결합도가 증가할 가능성이 높아 하나의 책임을 변경할 경우 다른 책임을 변경할 가능성 생김 OCP (Oepn Cloased..