디자인 패턴 & OOP

Cloud-DevLog
[디자인 패턴] 전략 패턴(Strategy Pattern)
전략 패턴(Strategy Pattern)이란?전략 패턴은 디자인 패턴(Design Pattern)중 행위 패턴(Behavioral Pattern)이다. 행위 패턴 : 클래스나 객체들이 서로 상호작용하는 방법이나 어떤 알고리즘, 작업을 어떤 객체에 할당하는 것이 좋을지 정의하는 패턴이다. 즉, 객체나 클래스의 교류 방법에 대해 정의하는 것이다. 하나의 객체만으로 수행할 수 없는 작업을 여러 객체로 나누면서 결합도를 최소화하게 해준다. 행위 클래스 패턴은 상속을 통해 알고리즘, 제어 흐름을 기술하고, 행위 객체 해턴은 하나의 작업을 수행하기 위해 객체 집합이 어떻게 협력하는지를 기술한다. GoF 디자인 패턴에 의하면 전략 패턴은 동일 계열의 알고리즘군을 정의하고 캡슐화하여 상호 교환이 가능하도록 한다. 전..
[디자인 패턴] 템플릿 메서드 패턴(Template Method Pattern)
템플릿 메서드 패턴(Template Method Pattern)이란?템플릿 메서드 패턴은 디자인 패턴(Design Pattern)중 행위 패턴(Behavioral Pattern)이다. 행위 패턴 : 클래스나 객체들이 서로 상호작용하는 방법이나 어떤 알고리즘, 작업을 어떤 객체에 할당하는 것이 좋을지 정의하는 패턴이다. 즉, 객체나 클래스의 교류 방법에 대해 정의하는 것이다. 하나의 객체만으로 수행할 수 없는 작업을 여러 객체로 나누면서 결합도를 최소화하게 해준다. 행위 클래스 패턴은 상속을 통해 알고리즘, 제어 흐름을 기술하고, 행위 객체 해턴은 하나의 작업을 수행하기 위해 객체 집합이 어떻게 협력하는지를 기술한다. GoF 디자인 패턴에 의하면 템플릿 메서드 패턴은 상위클래스는 알고리즘의 골격만을 작성하..
[OOP] SOLID 객체 지향 설계 5가지 원칙
SOLID란? 객체 지향 설계 5가지 원칙SOLID 원칙이란, 객체 지향 프로그래밍에서 소프트웨어 설계를 더 이해하기 쉽고 유지보수가 용이하며 확장 가능하게 만드는 다섯 가지 기본 원칙이다. 이 원칙들은 코드 품질을 높이고, 코드 변경 시 발생할 수 있는 오류를 최소화하는 데 도움을 준다. 그리고 디자인 패턴은 SOLID 원칙을 기반으로 만들어진 것이다.1. SRP(Single Responsibility Principle) 단일 책임 원칙클래스(객체)는 단 하나의 책임(기능)만 가져야 하며, 변경되어야 하는 이유가 오직 하나뿐이어야 한다는 원칙이다.하나의 클래스 : 하나의 기능 담당하나의 클래스에 여러 기능이 있다면 수정 시 변경 사항이 많아지며 가독성 및 유지보수성이 떨어진다.클래스가 변경되는 이유는 ..
[디자인 패턴] 팩토리 메서드 패턴(Factory Method Pattern)
팩토리 메서드 패턴(Factory Method Pattern)이란?팩토리 메서드 패턴은 디자인 패턴(Design Pattern) 중 생성 패턴(Creational Pattern)이다.생성 패턴 : 객체의 생성과 관련된 패턴이며, 객체의 생성 절차를 추상화하는 패턴객체를 생성 및 합성하는 방법과 객체의 표현 방법과 시스템을 분리한다. GoF 디자인 패턴에 의하면 팩토리 메서드 패턴은 객체 생성을 서브 클래스로 위임하여 캡슐화한다고 한다. 팩토리 메서드 패턴 : 객체를 생성하는 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 만들지는 서브 클래스가 결정하도록 하는 디자인 패턴이다. 따라서 서브 클래스에게 클래스 인스턴스 생성과 관련한 것을 맡긴다. 이는 객체 생성 코드를 캡슐화하고, 새로운 객체가 추가되더..
[디자인 패턴] 데코레이터 패턴(Decorator Pattern)
데코레이터 패턴(Decorator Pattern)이란?데코레이터 패턴은 디자인 패턴(Design Pattern) 중 구조 패턴(Structural Pattern)이다.구조 패턴 : 클래스나 객체를 조합해서 더 큰 구조를 만드는 패턴예를 들어, 서로 다른 인터페이스를 지닌 객체 2개를 묶어서 단일 인터페이스를 제공하거나 객체들을 서로 묶어서 새로운 기능을 제공하는 패턴이다. GoF 디자인 패턴에 의하면 데코레이터 패턴은 주어진 상황 및 용도에 따라 어떤 객체에 다른 객체를 덧붙이는 방식이다. 사용 목적은 클래스의 요소들을 계속 수정하면서 사용하는 구조가 필요할 때, 여러 요소들을 조합해서 사용하는 구조일 때 사용한다. 예를 들어, 캐싱, 로깅, 검증과 같은 기능에 사용된다.데코레이터 패턴 : 주어진 상황과..
[디자인 패턴] 싱글톤 패턴(Singleton Pattern)
싱글톤 패턴(Singleton Pattern)이란?싱글톤 패턴은 디자인 패턴(Design Pattern) 중 생성 패턴(Creational Pattern)이다.생성 패턴 : 객체의 생성과 관련된 패턴이며, 객체의 생성 절차를 추상화하는 패턴객체를 생성 및 합성하는 방법과 객체의 표현 방법과 시스템을 분리한다. GoF 디자인 패턴에 의하면 싱글톤 패턴은 어떤 클래스의 인스턴스는 하나임을 보장하고 어디서든 참조할 수 있도록 한다. 사용 목적은 단 하나만 생성하고 그 인스턴스를 사용하기 위해서이다. 주로 공통된 객체를 여러 개 생성해서 사용하는 Database Connection Pool(DBCP), Thread Pool, Device 설정, 로그 기록 객체, 스프링의 Bean 등의 경우, 인스턴스를 여러 개..
[디자인 패턴] 퍼사드 패턴(Facade Pattern)
퍼사드 패턴(Facade Pattern)이란?퍼사드 패턴은 디자인 패턴(Design Pattern) 중 구조 패턴(Structural Pattern)이다.구조 패턴 : 클래스나 객체를 조합해서 더 큰 구조를 만드는 패턴예를 들어, 서로 다른 인터페이스를 지닌 객체 2개를 묶어서 단일 인터페이스를 제공하거나 객체들을 서로 묶어서 새로운 기능을 제공하는 패턴이다. GoF 디자인 패턴에 의하면 퍼사드 패턴은 하위 시스템을 보다 쉽게 사용할 수 있게 해주는 하나의 통합된 고급 인터페이스(Wrapper)로 제공하기 위함이라고 한다. 사용 목적은 복잡한 서브 시스템을 인터페이스로 감싸서 보다 사용하기 쉽게 만드는 것이다. Facade(외관) 퍼사드는 건물의 정면을 의미하는 단어이며, 주로, 객체지향 프로그래밍 분야..
cloud-grace
'디자인 패턴 & OOP' 카테고리의 글 목록