CS - 디자인 패턴

hye·2022년 8월 16일
0

cs

목록 보기
13/20
post-thumbnail

디자인 패턴

  • 라이브러리: 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것. 폴더명, 파일명 등에 대한 규칙이 없고 프레임워크에 비해 자유로움
  • 프레임워크: 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것. 폴더명, 파일명 등에 대한 규칙이 있으며 라이브러리에 비해 좀 더 엄격
  • 디자인패턴: 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것
  • 싱글톤 패턴(singleton pattern): 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴. 데이터베이스 연결 모듈에 많이 사용됨. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어드는 장점이 있으나 의존성이 높아진다는 단점.
    • 의존성 주입(DI, Dependency Injection): 모듈 간의 결합을 조금 더 느슨하게 만들어 해결할 수 있음.
      • 모듈들을 쉽게 교체할 수 있는 구조가 되어 테스팅하기 쉽고 마이그레이션하기도 수월.
      • 모듈들이 더욱더 분리되므로 클래스 수가 늘어나 복잡성이 증가될 수 있으며 약간의 런타임 페널티가 생기기도 함.
    • 팩토리 패턴(factory pattern): 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴
    • 전략 패턴(strategy pattern): 정책 패턴(policy pattern). 체의 행위를 바꾸고 싶은 경우 ‘직 접’ 수정하지 않고 전략이라고 부르는 ‘캡슐화한 알고리즘’을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴.
profile
어제보다 더 나은 내일을 꿈꾸는, 성장하는 개발자☀️

0개의 댓글

관련 채용 정보