ملخص
إنه نمط هيكلي ينظم الكائنات في بنية شجرة لتمثيل التسلسل الهرمي "الجزئي" ، مما يجعل العميل فريدًا في استخدام الكائنات الفردية والكائنات المدمجة.
مخطط فئة UML
يحتوي مخطط الفئة أعلاه على الأدوار:
المكون: إعلان واجهة مشتركة للكائن المشارك في التكوين ، سواء كان مزيجًا أو عقدة ورقة.
ورقة: تمثل كائن عقدة ورقة في المجموعة ، وعقدة الورقة لا تحتوي على عقد طفل.
المركب: يمثل الكائن مع كائنات الطفل المشاركة في المجموعة ويعطي سلوك بناء الفرع ؛
مثال رمز
استيراد java.util.arraylist ؛ استيراد java.util.list ؛ مكون فئة مجردة {اسم السلسلة المحمية ؛ المكون العام (اسم السلسلة) {this.name = name ؛ } ADD Public Abstract ADD (المكون C) ؛ إزالة الفراغ التجريدي العام (المكون ج) ؛ Public Abstract void getChild (int depth) ؛} يمتد ورقة الفئة المكون {public leaf (اسم السلسلة) {super (name) ؛ } override public void add (component c) {system.out.println ("لا يمكن إضافة إلى ورقة") ؛ } override public void إزالة (المكون c) {system.out.println ("لا يمكن إزالة من ورقة") ؛ } Override public void getChild (int depth) {string temp = "" ؛ لـ (int i = 0 ؛ i <depth ؛ i ++) {temp+= "-" ؛ System.out.println (temp + name) ؛ }}} class composite يمتد المكون {private list <Pomonent> children = new ArrayList <> () ؛ المركب العام (اسم السلسلة) {super (name) ؛ } Override public void add (component c) {children.add (c) ؛ } Override public void إزالة (المكون C) } Override public void getChild (int depth) {for (component c: children) {c.getChild (depth) ؛ }}} الفئة العامة الرئيسية {public static void main (String args []) {composite root = new composite ("root") ؛ ROOT.Add (New Leaf ("Leaf A")) ؛ root.add (New Leaf ("Leaf B")) ؛ Compx Compx = New Composite ("Composite X") ؛ compx.add (ورقة جديدة ("Leaf Xa")) ؛ compx.add (ورقة جديدة ("Leaf XB")) ؛ root.add (compx) ؛ compxy المركب = مركب جديد ("مركب xy") ؛ compxy.add (ورقة جديدة ("Leaf Xya")) ؛ compxy.add (ورقة جديدة ("Leaf xyb")) ؛ compx.add (compxy) ؛ root.getchild (3) ؛ }}سيناريوهات التطبيق
1. يتطلب التسلسل الهرمي للجزء إلى الكائن.
2. إذا أراد العميل من العميل أن يتجاهل الفرق بين كائن مشترك وكائن واحد ، فسيستخدم العميل جميع الكائنات في الهيكل المشترك بشكل موحد.
يحدد نمط الجمع بنية فئة مكونة من كائنات الأوراق والأشياء المركبة ؛
اجعل العميل بسيطًا ؛
يجعل من السهل إضافة أو إزالة أجزاء فرعية.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.