เรียงความนี้ส่วนใหญ่แนะนำการใช้งานรูปแบบการออกแบบมัณฑนากรที่เรียบง่ายโดยใช้ Java:
ก่อนอื่นให้ดูที่แผนภาพคลาสของรูปแบบการออกแบบมัณฑนากร:
ดังที่เห็นได้จากรูปเราสามารถตกแต่งคลาสการใช้งานใด ๆ ของส่วนต่อประสานส่วนประกอบและคลาสการใช้งานเหล่านี้ยังรวมถึงมัณฑนากรเองซึ่งสามารถตกแต่งได้อีกครั้ง
ด้านล่างเป็นรูปแบบการออกแบบมัณฑนากรที่เรียบง่ายที่ใช้ใน Java มันมีระบบมัณฑนากรที่เริ่มต้นด้วยการเพิ่มกาแฟขั้นพื้นฐานและสามารถเพิ่มนมช็อคโกแลตและน้ำตาลต่อไป
ส่วนประกอบอินเตอร์เฟส {โมฆะเมธอด ();} กาแฟคลาสใช้ส่วนประกอบ {@Override โมฆะสาธารณะวิธีการ () {// todo วิธีการที่สร้างขึ้นอัตโนมัติระบบ Stub System.out.println ("เทในกาแฟ"); }} คลาส Decorator ใช้ส่วนประกอบ {ส่วนประกอบสาธารณะ comp; มัณฑนากรสาธารณะ (คอมโพเนนต์คอมโพเนนต์) {this.comp = comp; } @Override โมฆะสาธารณะวิธีการ () {// todo วิธีการที่สร้างอัตโนมัติ stub comp.method (); }} คลาส Concretedecoratea ขยายมัณฑนากร {ส่วนประกอบสาธารณะ comp; concretedecoratea สาธารณะ (ส่วนประกอบ comp) {super (comp); this.comp = comp; } โมฆะสาธารณะวิธีการ 1 () {system.out.println ("เทลงในนม"); } โมฆะสาธารณะวิธีการ 2 () {system.out.println ("เพิ่มน้ำตาล"); } วิธีโมฆะสาธารณะ () {super.method (); วิธีการ 1 (); Method2 (); }} คลาส ConcretEdecorateB ขยายมัณฑนากร {ส่วนประกอบสาธารณะคอมโพเนนต์; concretedecorateB (ส่วนประกอบ comp) {super (comp); this.comp = comp; } โมฆะสาธารณะวิธีการ 1 () {system.out.println ("เพิ่มช็อคโกแลต"); } วิธีโมฆะสาธารณะ () {super.method (); วิธีการ 1 (); }} คลาสสาธารณะ testDecoratePattern {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {คอมโพเนนต์ comp = กาแฟใหม่ (); comp.method (); System.out.println ("----------------------------------------------"); Component comp1 = ใหม่ concretedecoratea (comp); comp1.method (); System.out.println ("----------------------------------------------"); Component comp2 = ใหม่ concretedecorateB (comp1); comp2.method (); System.out.println ("----------------------------------------------"); Component comp3 = ใหม่ concretedecorateB (คอนกรีตใหม่ (กาแฟใหม่ ())); comp3.method (); System.out.println ("----------------------------------------------"); Component comp4 = ใหม่ concretedecoratea (คอนกรีตใหม่ (กาแฟใหม่ ())); comp4.method (); - ผลการทำงาน:
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น