lierre

gof 디자인 패턴 예제

이것은 추상 공장입니다. 일반 팩터리는 한 유형의 콘크리트 객체를...

02 Août

이것은 추상 공장입니다. 일반 팩터리는 한 유형의 콘크리트 객체를 만듭니다. 추상 팩토리는 공장 자체의 구체적인 구현에 따라 다양한 유형의 콘크리트 객체를 만듭니다. 콘크리트 객체뿐만 아니라 콘크리트 객체의 전체 패밀리에 초점을 맞출 수있는 능력은 « 제품 객체의 한 종류를 포함하는 다른 창조 패턴과 구별 »(pp51). 소프트웨어 엔지니어링에서 디자인 패턴은 특정 유형의 문제를 해결하는 모범 사례/방법입니다. 코드에서 자연스럽게 발생해야하지만 적용되면 비대해진 / 지저분한 코드를 작성하게됩니다. 또한 사용 중인 언어 나 도구가 표준 라이브러리에서 문제를 해결하기 위해 이미 더 나은 접근 방식을 가지고 있는지도 고려해야합니다. 내 프로그램에서 패턴을 볼 때, 나는 그것이 문제의 표시로 간주합니다. 프로그램의 모양은 해결해야 하는 문제만 반영해야 합니다. 코드의 다른 규칙성은 적어도 충분히 강력하지 않은 추상화를 사용하고 있다는 신호입니다. 2장은 렉시라고 불리는 « What-You-See-Is-What-You-Get`(또는 `WYSIWYG`) 문서 편집기의 디자인 »에 대한 단계별 사례 연구입니다. (pp33) GoF는 C ++ 컨텍스트에서 책을 썼지만 여전히 Java 프로그래밍과 매우 관련이 있습니다. C++ 및 Java는 모두 개체 지향 언어입니다.

GoF 저자는 C++를 사용하여 대규모 엔터프라이즈 시스템을 코딩한 경험을 통해 일반적인 패턴이 나타나는 것을 보았습니다. 이러한 디자인 패턴은 C++에만 국한되지 않습니다. 디자인 패턴은 모든 개체 지향 언어로 적용할 수 있습니다. 디자인 패턴은 오랜 기간 동안 발전해 왔으며 소프트웨어 개발 중에 직면한 특정 문제에 대한 최상의 솔루션을 제공합니다. 이러한 패턴을 학습하면 경험이 없는 개발자가 쉽고 빠르게 소프트웨어 설계를 배울 수 있습니다. 소프트웨어 엔지니어링에서 설계 패턴은 소프트웨어 설계에서 일반적으로 발생하는 문제에 대한 일반적인 반복 가능한 솔루션입니다. 디자인 패턴은 코드로 직접 변환할 수 있는 완성된 디자인이 아닙니다. 그것은 많은 다른 상황에서 사용할 수있는 문제를 해결하는 방법에 대한 설명 또는 템플릿입니다.