[javascript] 객체 생성 패턴과 설계 원칙

이 기사에서는 자바스크립트에서 객체를 생성하는 여러 패턴과 객체 지향 설계 원칙에 대해 알아볼 것입니다.

객체 생성 패턴

자바스크립트에서 객체를 생성하는 주요 패턴은 다음과 같습니다.

1. 객체 리터럴

가장 간단한 방법으로 중괄호를 사용하여 객체를 생성합니다.

const person = {
  name: 'John',
  age: 30,
};

2. 생성자 함수

생성자 함수를 사용하여 객체를 생성합니다.

function Person(name, age) {
  this.name = name;
  this.age = age;
}

const person1 = new Person('John', 30);

3. 클래스

ES6부터 도입된 클래스를 사용하여 객체를 생성합니다.

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

const person1 = new Person('John', 30);

4. 팩토리 패턴

객체를 생성하는 함수를 사용하여 객체를 생성합니다.

function createPerson(name, age) {
  return {
    name,
    age,
  };
}

const person1 = createPerson('John', 30);

객체 지향 설계 원칙

객체 지향 프로그래밍에서는 다음과 같은 설계 원칙을 따릅니다.

1. 단일 책임 원칙 (Single Responsibility Principle, SRP)

각 객체는 하나의 책임만을 가져야 합니다.

2. 개방-폐쇄 원칙 (Open-Closed Principle, OCP)

확장에는 열려 있고 수정에는 닫혀 있어야 합니다.

3. 리스코프 치환 원칙 (Liskov Substitution Principle, LSP)

자식 클래스는 언제나 부모 클래스를 대체할 수 있어야 합니다.

4. 인터페이스 분리 원칙 (Interface Segregation Principle, ISP)

큰 덩어리의 인터페이스를 작은 단위로 분리해야 합니다.

5. 의존성 역전 원칙 (Dependency Inversion Principle, DIP)

고수준 모듈은 저수준 모듈에 의존하면 안 되며, 둘 다 추상화에 의존해야 합니다.

결론

객체를 생성하는 다양한 패턴과 객체 지향 설계 원칙을 이해하면 더욱 유연하고 확장 가능한 코드를 작성할 수 있습니다.

참고: MDN web docs

이상으로 객체 생성 패턴과 설계 원칙에 대한 기사를 마치겠습니다. 감사합니다.