패턴을 디자인하는 소개
디자인 패턴 (디자인 패턴)이 종종 경험이 풍부한 객체 지향 소프트웨어 개발자를 채용하고, 가장 좋은 방법을 나타냅니다. 디자인 패턴면에서 소프트웨어 개발 프로세스에서 소프트웨어 개발자의 일반적인 문제에 대한 해결책이다. 이러한 솔루션은 요약 시행 착오를 상당히 오랜 기간을 통해 많은 소프트웨어 개발자이다.
디자인 패턴, 코드 설계 경험 요약을 목록 화 한 후, 대부분의 사람들이 알고, 반복적으로 사용하도록 설정되어 있습니다. 코드의 신뢰성을 보장하기 위해 다른 코드를 이해하기 쉽게, 코드 재사용 설계 패턴을 사용한다. 윈 - 윈는 디자인 패턴은 실제 엔지니어링 컴파일 된 코드는 디자인 패턴은 같은 벽돌 돌 건물 등의 소프트웨어 엔지니어링의 초석은, 의심 할 여지없이, 디자인 패턴이 시스템에 다른 사람이됩니다하게됩니다. 디자인 패턴의 프로젝트 합리적인 사용이 많은 문제에 대한 완벽한 해결책이 될 수있는 현실의 원칙에 해당하는 각각의 모드는 해당 있고, 각각의 모드는 우리 주위에 끊임없이 반복되는 문제뿐만 아니라 문제를 설명 널리 이유가 될 수 있습니다 디자인 패턴을 사용하는 핵심 솔루션.
GOF (네 명, 네의 맞춤법 명) 란 무엇입니까?
1994 에리히 감마, 리처드 헬름, 랄프 존슨, 존 Vlissides 사 공동 출판 한 책이라는디자인 패턴에 의해 - 재사용 개체 - 요소지향 소프트웨어 (중국어 번역 : 디자인 패턴 - 재사용 가능한 객체 지향 소프트웨어 소자)제 소프트웨어 개발 설계 패턴의 개념을 설명한 책.
집합 네 저자GOF (네 명, 네의 맞춤법 명).이들은 설계 모델은 주로 객체 지향 설계 원칙에 근거 제안 하였다.
- 오히려 프로그래밍 인터페이스를 프로그래밍보다.
- 우선 순위 오브젝트 조성물보다 유전.
디자인 패턴의 사용
두 가지 주요 목적을위한 소프트웨어 개발에 디자인 패턴.
공통 플랫폼 개발
디자인 패턴은 표준 용어 체계를 제공하며, 특히 특정 장면. 모두 하나의 객체를 사용하여 단일 디자인 패턴 개발자 익숙 서로 이런 식으로 알 수 있도록 예를 들어, 하나의 설계 패턴은 프로그램 단독 패턴을 사용하여, 하나의 오브젝트의 사용을 의미한다.
모범 사례
디자인 패턴이 장기간에 걸쳐 진화들은 소프트웨어 개발 과정에서 직면하는 일반적인 문제에 대한 최적의 솔루션을 제공한다. 이 학습 모드는 소프트웨어 디자인을 배울 수있는 빠르고 쉬운 방법을 통해 경험이 부족한 개발자를하는 데 도움이됩니다.
디자인 패턴의 종류
디자인 패턴디자인 패턴의 참고서에 따르면 - 재사용 가능한 개체 - 요소지향 소프트웨어 (중국어 번역 : 디자인 패턴 - 객체 지향 소프트웨어 요소 재사용)한 23 디자인 패턴의 총. 이러한 패턴은 세 가지 범주로 나눌 수 있습니다 스키마 (창조적 패턴), 구조 모델 (구조 패턴), 모델 (행동 패턴)의 유형을 만들 수 있습니다. J2EE 디자인 패턴 : 물론, 우리는 디자인 패턴의 다른 유형을 설명합니다.
序号 | 模式 & 描述 | 包括 |
---|---|---|
1 | 创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 |
|
2 | 结构型模式 这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。 |
|
3 | 行为型模式 这些设计模式特别关注对象之间的通信。 |
|
4 | J2EE 模式 这些设计模式特别关注表示层。这些模式是由 Sun Java Center 鉴定的。 |
|
여기에 전체 그림과 디자인 패턴 사이의 관계를 설명하기 위해 :
디자인 패턴 여섯 원리
1. 폐쇄 원칙 (열기 목록 닫기 원리)
확장 오픈,하지만 수정 폐쇄 : 개방 - 폐쇄 원칙을 의미합니다. 프로그램을 확장 할 필요가있을 때, 핫 스왑의 효과를 달성하기 위해 기존 코드를 수정하지. 즉, 프로그램의 확장을 위하여, 유지 보수 및 업그레이드의 용이성. 이 효과를 달성하고자, 우리는 인터페이스와 추상 클래스를 사용해야합니다, 콘크리트 설계 나중에 우리는이 점을 언급 할 것이다.
2, 리히터 대체 원칙 (리스 코프 치환 원칙)
리히터 대체 원칙은 객체 지향 설계의 기본 원칙 중 하나입니다. 모든 기본 클래스를 표시 할 수있는, 서브 클래스가 나타날 수있을 것 리히터 대체 원칙. LSP는 파생 된 클래스가 기본 클래스를 대체 할 수있는 경우에만 다중화 초석 상속 및 기능 소프트웨어 유닛은 상기베이스 클래스 정말로 재사용 할 수있는 영향을받지 않고, 파생 된 클래스는 클래스에 새로운 추가 염기의 기초가 될 수있다 행동. 리히터 대체 원칙은 개폐의 상보성의 원리이다. 리히터 대체 원칙은 사양을 구현하는 추상 콘크리트 단계 그래서 중요한 단계는, 추상 구체적인 실현의 개폐 추상화, 상속 및 기본 클래스와 서브 클래스의 원칙의 실현이다.
3. 종속성 반전 원리 (의존성 반전 원칙)
이 원리가 개폐, 구체적인 내용의 원리에 기초이다 프로그래밍 인터페이스를 들어, 추상에 따라서 특정에 의존하지 않는다.
4, 인터페이스 독방 원리 (인터페이스 독방 원리)
이 원리의 의미 것은 : 복수의 절연 인터페이스의 사용이 단일 인터페이스를 사용하는 것보다 낫다. 클래스 간의 결합의 정도를 줄이기 위해 : 그것은 또 다른 의미를 갖습니다. 따라서, 쉽게 대규모 소프트웨어 아키텍처부터 디자인 패턴은 커플 링을 감소 의존도를 감소 강조 소프트웨어 디자인을 업그레이드하고 유지한다는 사실.
5, 디 미터는 또한 적어도 알려진 원리라고도 (데메테르 원리)
최소 원칙 방법을 알고 : 기업이 시스템을 상대적으로 독립적 인 기능 모듈을, 다른 엔티티 사이의 한 작은 수의 상호 작용해야한다.
6 합성 다중화 원리 (복합 재사용 원리)
합성 다중화 원리 지칭 대신 상속을 사용하여 중합체 / 합성 방식의 사용을 최대한.