728x90

JavaScript 13

[JS] 디자인 패턴(Design Pattern)_전략 패턴(Strategy Pattern)

"JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 1. 전략 패턴(Strategy Pattern) 전략 패턴은 객체 지향 디자인 패턴 중 하나로, 유사한 동작을 수행하는 알고리즘 집합을 정의하고, 이를 동적으로 선택하여 사용하는 방식으로 구현된다. 이 패턴을 사용하면, 알고리즘이 사용하는 행동들을 인터페이스를 통해 분리함으로써, 런타임에 객체가 다른 알고리즘을 선택할 수 있다. 전략 패턴은 대게 한 객체에서 알고리즘을 다른 객체로 전환하는 것이다. Strategy 객체는 다른 객체에서 호출될 수 있는 동일한 메서드..

Web/JS 2023.03.03

[JS] 디자인 패턴(Design Pattern)_커맨드 패턴(Command Pattern)

"JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 1. 커맨드 패턴(Command Pattern) 커맨드 패턴은 요청이나 동작을 객체로 캡슐화하여 전달하고 조작하기 쉽게 만드는 행동 디자인 패턴이다. JavaScript에서 커맨드 패턴은 동작 요청자와 동작을 수행하는 객체를 분리하는 데 사용되어 코드의 유연성과 재사용성을 향상한다. JavaScript에서 커맨드 패턴은 다음 컴포넌트를 사용하여 구현할 수 있다. Command: 모든 명령에 대한 계약을 정의하는 인터페이스이다. 일반적으로 단일 실행 메서드를 포함한다..

Web/JS 2023.03.02

[JS] 디자인 패턴(Design Pattern)_퍼사드 패턴(Facade Pattern)

"JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 1. 퍼사드 패턴(Facade Pattern) 퍼사드 패턴은 클래스, 인터페이스 및 하위 시스템으로 구성된 복잡한 시스템에 단순화된 인터페이스를 제공하는 구조 디자인 패턴이다. 클라이언트는 단일 인터페이스를 통해 시스템과 상호 작용할 수 있으며, 시스템 내 개별 구성 요소의 복잡성과 상호 작용을 숨길 수 있다. JavaScript에서 퍼사드 패턴은 일반적으로 복잡한 API, 라이브러리 또는 프레임워크와의 상호작용을 단순화하는 데 사용된다. 이 패턴은 컴포넌트 간의 ..

Web/JS 2023.03.01

[JS] 디자인 패턴(Design Pattern)_어댑터 패턴(Adapter Pattern)

"JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 1. 어댑터 패턴(Adapter Pattern) 어댑터 패턴은 호환되지 않는 두 인터페이스가 함께 작동할 수 있도록 하는 디자인 패턴이다. 호환되지 않는 두 클래스 사이의 다리 역할을 하며 두 클래스의 소스 코드를 수정하지 않고도 함께 작업할 수 있도록 한다. 어댑터 패턴은 기존 클래스가 새로운 클래스 또는 인터페이스와 함께 작동해야 하지만 두 클래스의 인터페이스가 호환되지 않을 때 유용하다. JavaScritp에서 어댑터 패턴은 일반적으로 타사 라이브러리 또는 A..

Web/JS 2023.02.27

[JS] 디자인 패턴(Design Pattern)_데코레이터 패턴(Decorator Pattern)

"JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 1. 데코레이터 패턴(Decorator Pattern) 데코레이터 패턴은 개발자가 객체를 데코레이터 클래스의 객체로 감싸서 런타임에 새로운 기능을 동적으로 추가할 수 있도록 하는 구조 패턴이다. 데코레이터 패턴을 사용하면 개발자는 객체의 원래 구현을 변경하지 않고도 새로운 동작을 추가하여 객체의 기능을 확장할 수 있다. 데코레이터 패턴은 Component interface, Concrete component, Decorator abstract class, Concr..

Web/JS 2023.02.26

[JS] 디자인 패턴(Design Pattern)_옵저버 패턴(Observer Pattern)

"JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 1. 옵저버 패턴(Observer Pattern) 옵저버 패턴은 주체(Subject)로 불리는 객체가 옵저버라고 하는 종속 객체의 목록을 유지 관리하고, 일반적으로 메서드 중 하나를 호출하여 상태 변경을 자동으로 알리는 디자인 패턴이다. 옵저버 패턴은 객체 간의 느슨한 결합을 허용하여 서로의 구현에 대해 세부 사항을 알 필요 없이 상호 작용할 수 있다. 옵저버 패턴은 주체와 주체의 옵저버 간의 일대다 관계를 정의한다. 주체가 변경되면 모든 옵저버에게 알림이 전달되고..

Web/JS 2023.02.25

[JS] 디자인 패턴(Design Pattern)_팩토리 패턴(Factory Pattern)

"JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 1. 팩토리 패턴(Factory Pattern) 팩토리 패턴은 생성할 객체의 정확한 클래스나 생성자 함수를 지정하지 않고도 객체를 생성할 수 있는 방법을 제공하는 생성 패턴이다. 팩토리 패턴은 객체를 생성하기 위한 일반 인터페이스를 제공하고 하위 클래스가 생성될 객체의 유형을 변경할 수 있도록 한다. 팩토리 패턴은 다음과 같은 이점을 제공한다. 캡슐화: 객체 생성이 애플리케이션의 로직과 분리되어 보다 모듈화 되고 유지 관리가 용이한 아키텍처를 제공한다. 유연성: 팩..

Web/JS 2023.02.23

[JS] 디자인 패턴(Design Pattern)_싱글톤 패턴(Singleton Pattern)

"JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 1. 싱글톤 패턴(Singleton Pattern) 싱글톤 패턴은 객체 지향 프로그래밍(OOP, Object-Oriented Programming)에서 클래스가 하나의 인스턴스만 가질 수 있도록 하고, 이에 대한 전역 접근 지점을 제공하기 위해 사용되는 디자인 패턴이다. 동일한 객체의 인스턴스를 여러 개 생성할 필요 없이 데이터베이스 연결이나 configuration 설정과 같은 특정 리소스에 대한 중앙 집중식 접근 지점을 제공하는 데 자주 사용된다. 즉, 한 번에..

Web/JS 2023.02.20

[JS] 디자인 패턴(Design Pattern)_공개 모듈 패턴(Revealing Module Pattern)

"JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 1. 공개 모듈 패턴(Revealing Module Pattern) 공개 모듈 패턴은 모듈 패턴과 유사한 JavaScript의 디자인 패턴이다. 공개 모듈 패턴에서는 모듈 패턴과 마찬가지로 모듈의 비공개 멤버와 함수가 즉시 호출 함수 표현식(IIFE, Immediately Invoked Function Expression)을 사용하여 정의된다. 공개 모듈 패턴은 비공개 변수와 함수가 있는 모듈로 시작한다. 이러한 변수와 함수는 모듈 외부에서 접근할 수 없다. 모듈은..

Web/JS 2023.02.18

[JS] 디자인 패턴(Design Pattern)_모듈 패턴(Module Pattern)

앞으로 작성될 "JavaScript Design Pattern" 포스팅은 ChatGPT에게 "Essential design patterns for JavaScript developers to learn"로 질문한 뒤 나온 내용에 대해 정리하는 포스팅입니다. 전에 디자인 패턴을 공부하고자, 재난 지원금으로 Head First Design Patterns 책을 구입했었다. 알 수 없는 외국 감성과 아직 디자인 패턴이 필요하지 않다고 생각했던(참으로 어리석은 생각) 나는 구입만 하고 책을 책장에 고이고이 모셔 두었다. 이제는 개발(이라고는 하지만 내가 제대로 하고 있는 건지 모르겠다.) 일을 한 지 만 3년이 다 되어가 진짜로 디자인 패턴에 대해 알아야 할 때라는 생각이 들었다. 하지만 개정판은 절대 나올 것..

Web/JS 2023.02.16
728x90