>웹 프론트엔드 >JS 튜토리얼 >가장 일반적으로 사용되는 12가지 디자인 패턴_자바스크립트 기술 요약

가장 일반적으로 사용되는 12가지 디자인 패턴_자바스크립트 기술 요약

WBOY
WBOY원래의
2016-05-16 18:03:231202검색

1. 전략 패턴(Strategy): 알고리즘 계열을 정의하고 서로 교체할 수 있도록 별도로 캡슐화합니다.
예: Collections.sort(List list, Comparator c);
2. 데코레이터: 객체에 일부 추가 책임을 동적으로 추가합니다.
예를 들어, BufferedInputStream은 모두 FileInputStream을 캡슐화하지만 전자는 readLine 메소드를 구현합니다.
3. 프록시 모드(프록시): 이 객체에 대한 액세스를 제어하기 위해 다른 객체에 대한 프록시를 제공합니다.
예를 들어 사용자가 로그인하면 실제 로그인 클래스와 프록시가 모두 사용됩니다. 로그인 클래스 로그인 인터페이스가 구현되어 있으며, 사용자가 적법한 경우에만 사용자가 액세스하는 로그인 메소드를 Proxy 클래스의 메소드에 추가한다는 점이 다릅니다.
4. 팩토리 패턴(Factory): 객체 생성을 위한 인터페이스를 정의하고 하위 클래스가 인스턴스화할 클래스를 결정하도록 합니다.
특정 전제 조건에서는 팩토리 패턴이 사용됩니다.
5. 템플릿 모드(Template): 작업의 알고리즘 뼈대를 정의하고 일부 단계를 하위 클래스로 연기합니다.
예를 들어 Connection 스위치의 구현인 HibernateTemplate입니다. Template에 정의되어 있고, 사용자는 이를 서브클래스에 추가하기만 하면 됩니다.
6. Facade: 서브시스템의 인터페이스 집합에 대해 일관된 인터페이스를 제공합니다. DBUtil과 같이 모든 데이터베이스 개체를 캡슐화하기 위해 사용하면 DBUtil.getDBUtil() 인터페이스만 남습니다.
7. 빌더 패턴(Builder): 복잡한 개체의 구성을 해당 표현과 분리합니다.
8. 관찰자 패턴(Observer): 정의됨 여러 관찰자 객체가 특정 토픽 객체를 동시에 모니터링할 수 있도록 허용하며 해당 상태가 변경되면 모든 관찰자에게 알림이 전달됩니다.
예: ServletContextListener는 이 인터페이스의 모든 구현 클래스를 알립니다.
9. 추상 팩토리 패턴(추상 팩토리): 특정 클래스를 지정하지 않고 일련의 관련 또는 상호 종속 개체를 생성하기 위한 인터페이스를 제공합니다. . 어댑터 패턴(Adapter ): 클래스의 인터페이스를 고객이 원하는 다른 인터페이스로 변환합니다.
11. 싱글톤 모드(Singleton): 클래스에 인스턴스가 하나만 있는지 확인하고 이에 액세스할 수 있는 전역 제어 지점을 제공합니다.
예를 들어 구성 파일을 로드할 때 이 모드를 사용할 수 있습니다.
12. 명령 모드(Command): 고객이 다양한 요청으로 매개변수화할 수 있도록 요청을 개체로 캡슐화합니다. Struts의 MVC 구조는 실제로 명령 모드입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.