আমি আশা করি যে এই পোস্টে, জেএসএফ পৃষ্ঠাগুলি এবং ব্যাকিং শিমের মধ্যে ইন্টারফেসের জন্য সেরা অনুশীলনের বিষয়ে আমি জনগণের মতামত পেতে পারি।
একটি জিনিস যা আমি কখনই স্থির করতে পারি না তা হ'ল আমার ব্যাকিং বিমগুলির কাঠামো। তদ্ব্যতীত, আমি এই বিষয়টিতে কখনও ভাল নিবন্ধ খুঁজে পাইনি।
কোন বৈশিষ্ট্য কোন ব্যাক মটরশুটি উপর? একটি নতুন শিম তৈরি করার এবং এর উপরে বৈশিষ্ট্য যুক্ত করার বিপরীতে প্রদত্ত শিমের আরও বেশি সম্পত্তি যুক্ত করা কখন উপযুক্ত? সাধারণ অ্যাপ্লিকেশনগুলির জন্য, কোনও শিমকে অন্য ইনজেক্টে ইনজেকশনের সাথে জড়িত জটিলতা বিবেচনা করে পুরো পৃষ্ঠার জন্য কেবল একটি একক ব্যাকিং শিমের অর্থ কী? ব্যাকিং শিমটিতে কোনও আসল ব্যবসায়ের যুক্তি থাকা উচিত, বা এতে কঠোরভাবে ডেটা থাকা উচিত?
এই প্রশ্নগুলির উত্তর দিতে এবং নির্দ্বিধায় অন্য যে কোনও প্রশ্ন আসতে পারে।
জেএসএফ পৃষ্ঠা এবং ব্যাকিং শিমের মধ্যে সংযোগ হ্রাস করার ক্ষেত্রে, আমি কখনই জেএসএফ পৃষ্ঠাটিকে কোনও ব্যাকিং শিমের সম্পত্তি'র বৈশিষ্ট্য অ্যাক্সেস করার অনুমতি দিই না। উদাহরণস্বরূপ, আমি কখনই এরকম কিছুকে অনুমতি দিই না:
<h:outputText value="#{myBean.anObject.anObjectProperty}" />
আমার সর্বদা এর মতো কিছু প্রয়োজন:
<h:outputText value="#{myBean.theObjectProperty}" />
এর ব্যাকিং শিমের মান সহ:
public String getTheObjectProperty()
{
return anObject.getAnObjectProperty();
}
আমি যখন কোনও সংগ্রহটি লুপ করি, উদাহরণস্বরূপ, কোনও ডাটা টেবিলের কোনও বস্তুতে ড্রিলিং এড়াতে আমি একটি মোড়ক ক্লাস ব্যবহার করি।
সাধারণভাবে, এই পদ্ধতির আমার কাছে "সঠিক" মনে হয়। এটি ভিউ এবং ডেটার মধ্যে কোনও মিলন এড়ায়। আমি ভুল হলে আমাকে সংশোধন করুন।