অন্য নিয়ামকের কাছ থেকে একটি নিয়ন্ত্রণকারী ফাংশন কল করা কি ভাল অনুশীলন?


23

আমি একটি কন্ট্রোল করছি যেখানে আমি একটি নিয়ামক হিসাবে অনুসন্ধানের যুক্তি পরিচালনা করছি এবং আমি অনুসন্ধানের উপর ভিত্তি করে কিছু ডেটা তৈরি করছি এবং পরিসংখ্যান হিসাবে ফিরে আসছি।

একটি ভাল অনুশীলন অন্য নিয়ামক থেকে একটি নিয়ামক ফাংশন কল? নাকি দু'জন কন্ট্রোলারের কখনই 'কথা বলা' উচিত নয়?

উত্তর:


24

এটি বরং অদ্ভুত, যদিও উত্তরটি আপনি যে ভাষা / ফ্রেমওয়ার্ক ব্যবহার করেন তার উপর নির্ভর করে, যেহেতু বিভিন্ন ভাষা / ফ্রেমওয়ার্কগুলি এমভিসির বিভিন্ন পন্থা থাকে।

সাধারণভাবে, আপনি অন্য একজনের থেকে একটি নিয়ামক ব্যবহার করবেন না:

  • কন্ট্রোলাররা সাধারণত এমভিসি কাঠামোর দ্বারা ব্যবহৃত কোনও ধরণের ফলাফল প্রত্যাবর্তন করে। এই ফলাফলটিতে আপনাকে একজন আহ্বানকারী হিসাবে প্রচুর তথ্য ধারণ করে (যেমন দেখার নাম) প্রয়োজন হয় না এবং আপনার আগ্রহী তথ্যের কাছে পৌঁছানো সবসময় সহজ করে না (আপনার ক্ষেত্রে ক্ষেত্রে মডেল, আমি সঠিক অনুমান যদি)।

  • নিয়ন্ত্রকরা ব্যবসায়ের কোড থেকে আরম্ভ করা সহজ নয়, যেহেতু তাদের প্রায়শই এইচটিটিপি অনুরোধ এবং প্রসঙ্গটি সম্পর্কে কিছু পরিমাণ তথ্যের প্রয়োজন হয়। এই সমস্ত তথ্য এমভিসি কাঠামোয় পাস হবে বলে আশা করা হচ্ছে।

আরও গুরুত্বপূর্ণ, যদি আপনার দুটি নিয়ামকের অনুসন্ধানের ফলাফলের একগুচ্ছ প্রয়োজন — একটি যা শেষ ব্যবহারকারীর কাছে ফলাফল দেখায়, অন্যটি যা পরিসংখ্যান উত্পন্ন করে, কেবলমাত্র আপনার ব্যবসায়ের স্তরটিতে অনুসন্ধান যুক্তি যুক্ত করুন (যেখানে এটি প্রথম স্থানের সাথে সম্পর্কিত, যাইহোক) এবং আপনার নিয়ন্ত্রকদের যতটা সম্ভব ছোট রাখুন।

এমভিসি-তে একটি নিয়ামকের ভূমিকা প্রক্রিয়াটি অর্কেস্ট্রেট করা:

  • অনুরোধ থেকে প্রাসঙ্গিক ইনপুট পান,
  • বৈধকরণকারীদের ইনপুট বৈধকরণ / স্যানিটাইজাইজ করার কাজটি প্রেরণ করুন,
  • ব্যবসায় স্তর সম্পর্কিত সম্পর্কিত পদ্ধতিগুলি কল করুন,
  • এমভিসি ফ্রেমওয়ার্ককে ফলাফলের মডেল এবং দর্শন দিন।

নিয়ন্ত্রকের ভূমিকা ব্যবসায়ের যুক্তি মোকাবেলা করা নয়।

কোডটি ব্যবসায়ের স্তরে স্থানান্তরিত হয়ে গেলে, আপনি তখন একটি অনুসন্ধান ইন্টারফেস সরবরাহ করতে পারেন যা একটি নিয়ন্ত্রণকারীর অন্য থেকে ব্যবহৃত হওয়ার বিপরীতে একটি পরিষ্কার, সরল উপায়ে পুনরায় ব্যবহারযোগ্য হতে পারে।


হাই, আপনার প্রতিক্রিয়া জন্য আপনাকে ধন্যবাদ। ধরে নিচ্ছি যে আমি অনুসন্ধান যুক্তিকে ব্যবসায়ের স্তরে সরিয়েছি, অনুসন্ধানের ইন্টারফেসটি রাখার সবচেয়ে ভাল জায়গাটি কোথায়? আমি লারাভেল ব্যবহার করছি
আইএএমজুলিয়ানআকোস্টা

দুর্ভাগ্যক্রমে, আমি কখনই লারাভেল ব্যবহার করি নি। তদুপরি, আমি ধারণা করি যে উত্তরটি আপনার প্রয়োগের কাঠামোর পরিবর্তে আর্কিটেকচারের উপর নির্ভর করবে।
আর্সেনী মোরজেনকো

ধরে নিই যে আপনি আপনার রুট প্রকল্পের সাথে ঠিক এক স্তরের HTTP ফোল্ডারের অধীনে রয়েছেন। আপনি এখানে চুক্তি নামক ফোল্ডার তৈরি করতে পারেন এবং আপনার সমস্ত ফাইল যা ইন্টারফেস হিসাবে কাজ করতে পারে আপনি এখানে রাখতে পারেন
ফারিস রায়হান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.