Latest web development tutorials

وضع كيان تكوين

مزيج وضع كيان (المركب كيان نمط) المستخدمة في آلية المنظمة بتبني المثابرة. كيان مجتمعة هي كيان الفول EJB، نيابة عن كائن رسومي. عند تحديث كيان مجتمعة، الداخلية تلقائيا تحديث الأجسام الفاصوليا التابعة، لأنها تدار من قبل الفاصوليا كيان المنظمة بتبني. ما يلي هو الفول مشارك كيان التكوين.

  • كيان تكوين (المركب الكيان) - الذي هو الفول الكيان الرئيسي.ويمكن أن يكون خشن، أو قد تحتوي على وجوه الحبيبات الخشنة لدورة الحياة مستمرة.
  • كائنات الحبيبات الخشنة (خشن الحبيبات وجوه) - الكائن يحتوي على موضوعها.لها دورة حياة خاصة بها، ولكن أيضا لإدارة دورة حياة الكائنات التابعة.
  • الكائنات التابعة (كائن تابع) - الكائنات التابعة هي دورة الحياة تعتمد على الكائنات كائن خشن الحبيبات واصل.
  • استراتيجية (استراتيجيات) - تشير إلى كيفية تنفيذ مجموعة من الكيان الاستراتيجيات.

تحقيق

فإننا سنضع ككائنCompositeEntityكيان مجتمعة.CoarseGrainedObjectهو يحتوي على فئة الكائن التابعة.

CompositeEntityPatternDemo، والطبقاتمظاهرة لدينا باستخدام فئةالعميلللتدليل على استخدام مزيج من النماذج المادية.

كيان تكوين وضع مخطط UML

خطوة 1

إنشاء كائنات التابعة.

DependentObject1.java

الطبقة العامة DependentObject1 {
	
   بيانات سلسلة الخاص؛

   setData باطلة العامة (سلسلة البيانات) {
      this.data = البيانات؛ 
   } 

   جمهور سلسلة getData () {
      إرجاع البيانات.
   }
}

DependentObject2.java

الطبقة العامة DependentObject2 {
	
   بيانات سلسلة الخاص؛

   setData باطلة العامة (سلسلة البيانات) {
      this.data = البيانات؛ 
   } 

   جمهور سلسلة getData () {
      إرجاع البيانات.
   }
}

خطوة 2

إنشاء كائن الحبيبات الخشنة.

CoarseGrainedObject.java

الطبقة العامة CoarseGrainedObject {
   DependentObject1 DO1 = الجديدة DependentObject1 ()؛
   DependentObject2 do2 = الجديدة DependentObject2 ()؛

   setData باطلة العامة (سلسلة DATA1، سلسلة DATA2) {
      do1.setData (DATA1)؛
      do2.setData (DATA2)؛
   }

   جمهور سلسلة [] getData () {
      عودة سلسلة جديدة [] {do1.getData ()، do2.getData ()}؛
   }
}

خطوة 3

إنشاء مجموعة من الكيانات.

CompositeEntity.java

الطبقة العامة CompositeEntity {
   خاص CoarseGrainedObject CGO = CoarseGrainedObject الجديدة ()؛

   setData باطلة العامة (سلسلة DATA1، سلسلة DATA2) {
      cgo.setData (DATA1، DATA2)؛
   }

   جمهور سلسلة [] getData () {
      العودة cgo.getData ()؛
   }
}

خطوة 4

التي تم إنشاؤها باستخدام مزيج من الدرجة العميل الصلبة.

Client.java

فئة العمومي العميل {
   خاصة CompositeEntity compositeEntity = CompositeEntity الجديدة ()؛

   الفراغ printData الجمهور () {
      ل(كثافة العمليات ط = 0؛. <ط compositeEntity.getData () طول، وأنا ++) {
         System.out.println ( "البيانات:" + compositeEntity.getData () [ط])؛
      }
   }

   setData باطلة العامة (سلسلة DATA1، سلسلة DATA2) {
      compositeEntity.setData (DATA1، DATA2)؛
   }
}

خطوة 5

استخدامالعميلللتدليل على استخدام مزيج من أنماط التصميم المادية.

CompositeEntityPatternDemo.java

الطبقة العامة CompositeEntityPatternDemo {
   (وسائط سلسلة []) العامة ساكنة باطلة الرئيسية {
       العميل عميل = عميل جديد ()؛
       client.setData ( "اختبار"، "بيانات")؛
       client.printData ()؛
       client.setData ( "اختبار الثانية"، "DATA1")؛
       client.printData ()؛
   }
}

خطوة 6

تحقق من الانتاج.

البيانات: اختبار
البيانات: البيانات
بيانات: الاختبار الثاني
بيانات: DATA1