شبكة بحوث وتقارير ومعلومات
اليوم: ,Mon 15 Dec 2025 الساعة: 04:33 PM


اخر بحث





- [ رقم تلفون ] سفريات داداباي .سفريات العوامي .البحرين
- [ تعرٌف على ] قائمة رؤساء سريلانكا
- تعرٌف على ... عماد محمود السعداوي | مشاهير
- [ سيارات السعودية ] مركز البركة لخدمة السيارات
- ماذا يعني التصاق القلفة بالحشفة للمولود الجديد قبل الختان ؟ | الموسوعة الطبية
- [ مؤسسات البحرين ] مروان ابراهيم محمد احمد سيف. ... المحرق
- عندي طفله عمرها 6 اشهر عندها اسهال وحمى شديدة فجاة شنو ممكن نكدر نعطيها | الموسوعة الطبية
- [ تعرٌف على ] أنغراد توموس
- [ تاريخ الدول ] تاريخ بريطانيا القديم
- [ وسطاء عقاريين السعودية ] مكتب يسر البركة للعقار ... جدة ... منطقة مكة المكرمة

[ تعرٌف على ] كائن جافا القديم البسيط

تم النشر اليوم 15-12-2025 | [ تعرٌف على ] كائن جافا القديم البسيط
[ تعرٌف على ] كائن جافا القديم البسيط تم النشر اليوم [dadate] | كائن جافا القديم البسيط

الاختلافات السياقية

جافا بينز JavaBean (حبوب جافا) هو POJO قابل للتسلسل، وله مُنشئ بدون وسيطة (no-argument)، وتسمح بالوصول إلى الخصائص باستخدام طرق getter جالب و setter المعيّن التي تتبع اصطلاح التسمية البسيطة. بسبب هذا الاصطلاح، يمكن عمل مراجع توضيحية بسيطة لخصائص جافا بينز التعسفية. لا يلزم أن يعرف الكود الذي يستخدم مثل هذا المرجع التعريفي أي شيء عن نوع بين (bean type)، ويمكن استخدام bean مع العديد من الأطر دون الحاجة إلى معرفة النوع الدقيق للحبة. مواصفات جافا بينز، إذا تم تنفيذها بالكامل، تكسر قليلاً نموذج POJO حيث يجب أن يقوم الصنف بتنفيذ واجهة Serializable لتكون جافا بينز حقيقية. لا تزال العديد من اصناف POJO تسمى JavaBeans لا تفي بهذا المطلب. نظرًا لأن Serializable عبارة عن واجهة علامة (بدون طرق)، فإن هذا لا يمثل عبئًا كبيرًا. يُظهر ما يلي مثالاً على مكون JavaServer Faces (JSF) له ارتباط ثنائي الاتجاه بخاصية POJO: يمكن أن يكون تعريف POJO كما يلي: public class MyBean { private String someProperty; public String getSomeProperty() { return someProperty; } public void setSomeProperty(String someProperty) { this.someProperty = someProperty; } } بسبب اصطلاحات تسمية JavaBean ، يمكن ترجمة مرجع "someProperty" الفردي تلقائيًا إلى طريقة "getSomeProperty ()" (أو "isSomeProperty ()" إذا كانت الخاصية من النوع المنطقي) للحصول على قيمة، وإلى "setSomeProperty (String) "طريقة لتحديد القيمة. خدمات الإضافة بشفافية نظرًا لأن التصميمات التي تستخدم POJOs أصبحت أكثر شيوعًا، فقد نشأت الأنظمة التي تمنح POJOs الوظائف الكاملة المستخدمة في الأطر والمزيد من الخيارات حول مجالات الوظائف المطلوبة بالفعل. في هذا النموذج، لا يقوم المبرمج بإنشاء أكثر من POJO. يركز برنامج POJO بشكل بحت على منطق الأعمال وليس له أي تبعيات على أطر عمل (مؤسسية). تضيف أطر البرمجة الموجهة إلى الجانب (AOP) بعد ذلك مخاوف شاملة مثل المثابرة والمعاملات والأمان وما إلى ذلك. كان سبرينغ تطبيقًا مبكرًا لهذه الفكرة وأحد القوى الدافعة وراء تعميم هذا النموذج. مثال على أن حبة (bean) EJB هي POJO: Enterprise JavaBeans (EJB)، Java Persistence API (JPA) (بما في ذلك وضع هايبرنت) CDI (السياقات وحقن التبعية لمنصة Java EE) يوضح ما يلي أحد وحدات برامج EJB الدالي المتكامل، مما يوضح كيفية قيام EJB3 بتعزيز نموذج POJO: public class HelloWorldService { public String sayHello() { return "Hello, world!"; } } كما هو موضح، لا تحتاج الحبة bean إلى توسيع أي صنف EJB أو تنفيذ أي واجهة تعامل EJB كما أنها لا تحتاج إلى احتواء أي تعليقات توضيحية لـ EJB. بدلاً من ذلك، يعلن المبرمج في ملف XML خارجي عن خدمات EJB التي يجب إضافتها إلى الحبة bean: helloWorld com.example.HelloWorldService stateless من الناحية العملية، يجد بعض الأشخاص أن تعليقات الشرح البرمجية أنيقة، بينما يرون XML على أنها مطولة وقبيحة ويصعب الحفاظ عليها، بينما يجد البعض الآخر أن تعليقات الشرح البرمجية تلوث نموذج POJO. وهكذا، كبديل لـ XML ، العديد من الأطر (على سبيل المثال سبرينغ و EJB و JPA) تسمح باستخدام التعليقات التوضيحية بدلاً من XML أو بالإضافة إليه. يوضح ما يلي نفس وحدة برامج EJB كما هو موضح أعلاه ولكن مع إضافة تعليق توضيحي. في هذه الحالة لم تعد هناك حاجة إلى ملف XML: @Stateless public class HelloWorldService { public String sayHello() { return "Hello, world!"; } } بتعليق الشرح البرمجي كما هو مذكور أعلاه، لم تعد الحبة bean عبارة عن POJO نقي حقيقي بعد الآن، ولكن نظرًا لأن تعليقات الشرح البرمجية هي مجرد بيانات وصفية سلبية، فإن هذا يحتوي على عيوب ضارة أقل بكثير مقارنةً بالضطر إلى توسيع الأصناف و / أو تنفيذ الواجهات. وفقًا لذلك، لا يزال نموذج البرمجة يشبه إلى حد كبير نموذج POJO النقي.

المختصرات ذات الصلة

واجهة جافا القديمة البسيطة تعد واجهة Java القديمة البسيطة (POJI) نموذجًا أساسيًا لواجهة Jaجافا ومقبولة في النقاط التي لا يُسمح فيها بواجهات Java الأكثر تعقيدًا. :57,572,576,579,1340

تعريف

من الناحية النظرية المثالية، فإن POJO هو كائن جافا غير ملزم بأي قيود بخلاف تلك المفروضة بواسطة تخصيصات لغة جافا؛ أي يجب ألا تضطر POJO إلى توسيع الأصناف المحددة مسبقًا، كما فيpublic class Foo extends javax.servlet.http.HttpServlet { ... تنفيذ واجهات محددة مسبقًا، كما فيpublic class Bar implements javax.ejb.EntityBean { ... احتواء أي تعليقات شرح برمجية محددة مسبقًا، كما هو الحال في @javax.persistence.Entity public class Baz { ... ومع ذلك، نظرًا للصعوبات التقنية وأسباب أخرى، فإن العديد من منتجات البرامج أو أطر العمل الموصوفة على أنها متوافقة مع POJO لا تزال تتطلب في الواقع استخدام التعليقات الشرح البرمجية (annotations) المحددة مسبقًا لميزات مثل المثابرة على العمل بشكل صحيح. الفكرة هي أنه إذا كان الكائن (صنف في الواقع) عبارة عن POJO قبل إضافة أي تعليقات شرح برمجية، وسيعود إلى حالة POJO إذا تمت إزالة تعليقات الشرح البرمجية، فلا يزال من الممكن اعتباره POJO. ثم يبقى الكائن الأساسي POJO لأنه لا يحتوي على خصائص محددة (مثل واجهة مطبقة) مما يجعله «كائن جافا متخصص» "Specialized Java Object" (SJO أو (هكذا) SoJO).

شرح مبسط

في هندسة البرمجيات، يعتبر كائن جافا القديم البسيط (POJO) كائن جافا عادي، غير ملزم بأي قيود خاصة. صاغ هذا المصطلح مارتن فاولر وريبيكا بارسونز وجوش ماكنزي في سبتمبر 2000:[1]

شاركنا رأيك