আমি কন্ট্রোলার ক্লাস থেকে সরাসরি ডিএও এবং মডেল ক্লাস থেকে ডিএও-এর বিরুদ্ধে ডেকে আনার বিরুদ্ধে বিভিন্ন যুক্তি দেখেছি। আমি ব্যক্তিগতভাবে অনুভব করি যে আমরা যদি এমভিসি প্যাটার্নটি অনুসরণ করি তবে কন্ট্রোলারকে ডিএওর সাথে মিলিত করা উচিত নয়, তবে মডেল শ্রেণি ডিএওর ভিতরে থেকে আবেদন করা উচিত এবং কন্ট্রোলারের উচিত মডেল শ্রেণীর আবেদন করা উচিত W কেননা, আমরা ওয়েব অ্যাপ্লিকেশন বাদে মডেল ক্লাসটি ডিকুয়াল করতে পারি এবং আমাদের মডেল ক্লাসটি ব্যবহার করার জন্য কোনও আরইএসটি পরিষেবা যেমন বিভিন্ন উপায়ে কার্যকারিতা প্রকাশ করতে পারি।
আমরা যদি কন্ট্রোলারে ডিএও আমন্ত্রণটি লিখি তবে কোনও আরইএসটি সার্ভিসের পক্ষে কার্যকারিতাটি সঠিকভাবে পুনরায় ব্যবহার করা সম্ভব হবে না? আমি নীচের উভয় পদ্ধতির সংক্ষিপ্তসার করেছি।
পন্থা # 1
public class CustomerController extends HttpServlet {
proctected void doPost(....) {
Customer customer = new Customer("xxxxx","23",1);
new CustomerDAO().save(customer);
}
}
পদ্ধতির # 2
public class CustomerController extends HttpServlet {
proctected void doPost(....) {
Customer customer = new Customer("xxxxx","23",1);
customer.save(customer);
}
}
public class Customer {
...........
private void save(Customer customer){
new CustomerDAO().save(customer);
}
}
দ্রষ্টব্য -
এখানে মডেলের সংজ্ঞাটি কী:
মডেল: মডেলটি অ্যাপ্লিকেশন ডোমেনের আচরণ এবং ডেটা পরিচালনা করে, তার রাজ্য সম্পর্কে তথ্যগুলির জন্য অনুরোধের (সাধারণত দেখুন থেকে) প্রতিক্রিয়া জানায় এবং রাষ্ট্র পরিবর্তন করার জন্য নির্দেশকে (সাধারণত নিয়ামক থেকে) প্রতিক্রিয়া জানায়।
ইভেন্ট-চালিত সিস্টেমে, মডেল পর্যবেক্ষককে (সাধারণত দেখা হয়) তথ্য পরিবর্তন করে যাতে তারা প্রতিক্রিয়া জানাতে পারে if
আমার এ সম্পর্কে একটি বিশেষজ্ঞের মতামত প্রয়োজন কারণ আমি অনেকগুলি # 1 বা # 2 ব্যবহার করে দেখতে পাই, তাই এটি কোনটি?