>Java >java지도 시간 >자바 디자인 패턴이란 무엇인가

자바 디자인 패턴이란 무엇인가

(*-*)浩
(*-*)浩원래의
2019-05-28 13:54:4018450검색

디자인 패턴(Design Pattern)은 대부분의 사람들에게 알려져 있으며 반복적으로 사용되는 코드 디자인 경험을 분류하고 정리한 집합입니다. 디자인 패턴을 사용하는 목적은 코드를 재사용하고, 다른 사람이 코드를 더 쉽게 이해할 수 있도록 하며, 코드 신뢰성을 보장하는 것입니다.

자바 디자인 패턴이란 무엇인가

디자인 패턴이 우리 자신과 다른 사람, 시스템 모두에게 윈윈(win-win)이라는 것은 의심할 여지가 없습니다. 디자인 패턴은 건물의 벽돌과 마찬가지로 코드 컴파일을 진정한 엔지니어링으로 만듭니다. . 프로젝트에서 디자인 패턴을 합리적으로 사용하면 많은 문제를 완벽하게 해결할 수 있습니다. 각 패턴에는 그에 상응하는 원칙이 있습니다. 각 패턴은 우리 주변에서 계속해서 반복되는 문제와 그 해결 방법의 핵심을 설명합니다. 사용된. 간단히 말하면:

모드: 특정 시나리오에서 특정 유형의 문제에 대한 일반적인 솔루션입니다.

시나리오: 프로젝트가 위치한 환경

문제: 제약 조건, 프로젝트 목표 등

해결책: 보편적이고 재사용 가능한 설계, 제약 조건을 해결하여 목표 달성.分 디자인 모드의 세 가지 분류

자바 디자인 패턴이란 무엇인가

, 생성 모드는 분리된 객체의 인스턴스화된 프로세스를 분리하는 데 사용됩니다.

구조적 패턴: 클래스나 객체를 결합하여 더 큰 구조를 형성합니다.

행동 패턴: 클래스와 객체가 상호 작용하는 방법, 책임과 알고리즘을 나누는 방법.的 각 분류별 모드의 핵심 포인트입니다.

간단한 팩토리: 팩토리 클래스는 수신 매개변수에 따라 생성할 제품 클래스 인스턴스를 결정합니다.

Factory 메서드: 객체 생성을 위한 인터페이스를 정의하고 하위 클래스가 인스턴스화할 클래스를 결정하도록 합니다.

추상 팩토리: 구체적인 클래스를 명시적으로 지정하지 않고 관련 개체 또는 종속 개체의 패밀리를 만듭니다.

빌더 패턴: 복잡한 객체의 구성 프로세스를 캡슐화하고 단계별로 구성할 수 있습니다.

프로토타입 모드: 기존 인스턴스를 복사하여 새 인스턴스를 만듭니다.

Adapter 패턴: 클래스의 메소드 인터페이스를 고객이 원하는 다른 인터페이스로 변환합니다.

결합 모드: 개체를 트리 구조로 결합하여 "부분-전체" 계층 구조를 나타냅니다.

장식 모드: 개체에 새로운 기능을 동적으로 추가합니다.

프록시 패턴: 다른 개체에 대한 프록시를 제공하여 이 개체에 대한 액세스를 제어합니다.

Hengyuan(플라이 볼륨) 모드: 공유 기술을 통해 수많은 세밀한 개체를 효과적으로 지원합니다.

외관 모드: 하위 시스템의 인터페이스 그룹에 액세스할 수 있는 통합된 방법을 제공합니다.

브릿지 모드: 추상 부분과 구현 부분을 분리하여 독립적으로 변경할 수 있습니다.

🎜 🎜🎜템플릿 패턴: 알고리즘 구조를 정의하고 하위 클래스 구현에 대한 일부 단계를 연기합니다. 🎜🎜통역사 패턴: 언어가 주어지면 문법 표현을 정의하고 통역사를 정의합니다. 🎜🎜전략 패턴: 일련의 알고리즘을 정의하고, 캡슐화하고, 상호 교환 가능하게 만듭니다. 🎜🎜상태 패턴: 내부 상태가 변경되면 개체의 동작을 변경할 수 있습니다. 🎜🎜관찰자 패턴: 객체 간의 일대다 종속 관계. 🎜🎜메모 모드: 캡슐을 파괴하지 않고 개체의 내부 상태를 유지합니다. 🎜🎜Mediator 패턴: 중재자 개체를 사용하여 일련의 개체 상호 작용을 캡슐화합니다. 🎜🎜명령 모드: 다양한 요청을 매개변수화할 수 있도록 명령 요청을 개체로 캡슐화합니다. 🎜🎜방문자 패턴: 데이터 구조를 변경하지 않고 개체 요소 집합에 대해 작동하는 새로운 기능을 추가합니다. 🎜🎜책임 모델 체인: 여러 객체가 요청을 처리할 수 있도록 요청의 발신자와 수신자를 분리합니다. 🎜🎜Iterator 패턴: 객체의 내부 구조를 노출하지 않고 집계 객체의 개별 요소를 탐색하고 액세스하는 방법입니다. 🎜

위 내용은 자바 디자인 패턴이란 무엇인가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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