이 에세이는 주로 Java를 사용하여 간단한 데코레이터 디자인 패턴의 구현을 소개합니다.
먼저 데코레이터 디자인 패턴의 클래스 다이어그램을 살펴 보겠습니다.
그림에서 볼 수 있듯이 구성 요소 인터페이스의 구현 클래스를 장식 할 수 있으며 이러한 구현 클래스에는 데코레이터 자체도 포함되어 있으며 다시 장식 할 수 있습니다.
아래는 Java에서 구현 된 간단한 데코레이터 디자인 패턴입니다. 커피의 기본 첨가로 시작하고 우유, 초콜릿 및 설탕을 계속 첨가 할 수있는 데코레이터 시스템을 제공합니다.
인터페이스 구성 요소 {void method ();} 클래스 커피를 구현하는 구성 요소 {@override public void method () {// todo 자동 생성 메소드 스텁 시스템 .out.println ( "커피에 붓다"); }} 클래스 데코레이터는 구성 요소 {public component comp; 공개 데코레이터 (구성 요소 comp) {this.comp = comp; } @override public void method () {// todo 자동 생성 메소드 스터브 comp.method (); }} Class ConcretEdecoratea Extends Decorator {Public Component Comp; Public ConcreteDecoratea (Component Comp) {Super (Comp); this.comp = comp; } public void method1 () {System.out.println ( "우유를 부어"); } public void method2 () {system.out.println ( "설탕 추가"); } public void method () {super.method (); 방법 1 (); 방법 2 (); }} Class ConcretEdeCorate는 Decorator {public component comp; public concretedecorateb (component comp) {super (comp); this.comp = comp; } public void method1 () {system.out.println ( "초콜릿 추가"); } public void method () {super.method (); 방법 1 (); }} public class testDecoratePattern {public static void main (String [] args) {component comp = new Coffee (); comp.method (); System.out.println ( "----------------------------------------------------------------------------- 구성 요소 comp1 = 새로운 Concretedecoratea (comp); comp1.method (); System.out.println ( "----------------------------------------------------------------------------- 구성 요소 comp2 = 새로운 ConcreteDecorateB (comp1); comp2.method (); System.out.println ( "----------------------------------------------------------------------------- 구성 요소 comp3 = 새로운 ConcretedeCorateB (New Concretedecoratea (New Coffee ()); comp3.method (); System.out.println ( "----------------------------------------------------------------------------- 구성 요소 comp4 = 새로운 Concretedecoratea (New ConcretedeCorateB (New Coffee ()); comp4.method (); }} 실행 결과 :
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.