ভূমিকা

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

MVC প্যাটার্ন বুঝতে

এমভিসি বিন্যাস তিনটি আন্তঃসংযুক্ত উপাদানের মধ্যে একটি অ্যাপ্লিকেশন পৃথক করে:

  • [[F] মোড:[FLT][FLT] উপাত্ত, ব্যবসায়িক নিয়মাবলী এবং অ্যাডমিনিস্ট্রেটর যুক্তিগুলো পরিচালনা করে । এটি হচ্ছে অ্যাপ্লিকেশনের ডোমেইনের একটি বৈশিষ্ট্য ।
  • [[F][FLT][FLT] ব্যবহারকারীর ইন্টারফেসগুলো সংগ্রহ করে, সাধারণ বৈশিষ্ট্যক্রমে পড়ার জন্য (অথবা এর অনুরূপ উপস্থাপনা) ইন্টারফেস থেকে তথ্য পড়া হয়।
  • [[[F] নিয়ন্ত্রণ ব্যবস্থা:[[F] ব্যবহারকারীর ইনপুট] দ্বারা নিয়ন্ত্রিত, মডেল ও দৃশ্যের মধ্যকার পরস্পরের সাথে কথোপকথন হয়, এবং সেই অবস্থা সম্পর্কে সর্বশেষ তথ্য প্রদান করা হয়।

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

Syniable মডেলের জন্য নীতি

নির্দিষ্ট কিছু প্যাটার্নে যাওয়ার আগে, কিছু ভিত্তিগত নীতিকে অভ্যন্তরীণ করা জরুরী:

  • [[[F] একটি দায়িত্ব: nextPOPL [F] [FLT] প্রত্যেক মডেল বা শ্রেণী পরিবর্তন করার একটি সুনির্দিষ্ট কারণ রয়েছে । উদাহরণ, ব্যবসা থেকে পৃথক তথ্য পৃথক করা যাবে ।
  • [[[F] কনটেন্ট:] অ্যাপ্লিকেশনের বিভিন্ন বৈশিষ্ট্য [FLT] সুনির্দিষ্ট, সুনির্দিষ্ট, সুনির্দিষ্ট, ঘন ঘন ঘন ঘন স্তর নির্ধারণ করা আবশ্যক ।
  • [[[F] নিজেকে পুনরাবৃত্তি করো না; কারণ একাধিক মডেল বা কন্ট্রোলার দ্বারা নকল যুক্তিগুলো দুঃস্বপ্নের সৃষ্টি করে । এর পরিবর্তে সাধারণ আচরণ পুনরায় চালু করুন ।
  • [[[F] অভিনবতা::[[F] উচ্চ স্তরের মডিউল একটি অনুক্রম:[FLT] হাই- লেভেল মডিউলের (scialss) উপর নির্ভর করে একটি কনফিউজিং (scentifial), এটি কোন ডাটাবেসের উপর নির্ভর করে না । প্রোগ্রাউন্ডিং, রেসারিং অথবা বাইরের সার্ভিসকে পুনরায় ব্যবহার না করে কোন কাজের যুক্তিগুলো মুছে ফেলে ।

ডোমেইন-ওয়েই-পর্যন্ত ডিজাইন (DDDD)

এরিক ইভান্স ডোমেইন-স্ট্রিং ডিজাইন মডেলের দক্ষতা নিয়ে মডেলিং এর মধ্যে অন্যতম একটি কার্যকর পদক্ষেপ হিসেবে কাজ করে। ডিডির নির্মাতাকে প্রযুক্তিগত উদ্বেগের পরিবর্তে মুল ব্যবসা ডোমেইনগুলো সংগঠিত করতে উৎসাহিত করে।

বিদেশের ভাষা

ডেভেলপার, ডোমেইন বিশেষজ্ঞ, এবং হোল্ডার শেয়ার করা একটি সাধারণ শব্দভাণ্ডার স্থির করুন । উদাহরণস্বরূপ, একটি ই-কমার্স অ্যাপ্লিকেশনের একটি [FODO:] আদর্শ বিশ্ব-পরিবারের আচরণ প্রতিফলিত করে এমন একটি সাধারণ নিয়ম [FOD] মান [F], সাধারণ [F] এর সঙ্গে শেয়ার করা নয় ।

%s প্রসঙ্গের সাথে যুক্ত কনটেক্সট

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

গেট

একটি skateateg হচ্ছে ডোমেইন বস্তুর একটি গুচ্ছের সঙ্গে এক একক একক একক একক একক এককের মিল । । । রুটের পরামিতির নিশ্চয়তা দেয় । উদাহরণস্বরূপ, [FROPRO] [FOPL] রকাশ্যমান দুটিতে অন্তর্ভুক্ত হতে পারে [FLT] এবং [FLT] এর মধ্যে অন্তর্ভুক্ত হতে পারে [Fgt [F] [F] এবং [F] এর মূল পদ্ধতি [F], এর মাধ্যমে এই পরামিতিগুলো ব্যবহার করা যাবে । এর মূল পদ্ধতিগুলি ব্যবহার করে ।

[FLT] রিলেইন ফিলারের ভূমিকা ডিডিডিডির জন্য [FOL]

স্তরবিশিষ্ট স্থাপত্য

একটি স্তরগত স্থাপত্যের মাধ্যমে মডেলকে যৌক্তিক টাইর মাধ্যমে আরো পৃথক করে তোলা হয়েছে:

  • [[FLT] ডোমেইন স্তর [FLT]:[FLT] ব্যবসায়িক সত্ত্বা, বস্তুর জন্য মান ও ডোমেইন সার্ভিসের মধ্যে কোনো নির্ভরতা নেই । এই স্তরটি অবকাঠামোতে কোন নির্ভরতা নেই ।
  • [[FLT]A: [FO field] [FR] [FRECT] n:] n[FOPRM] ব্যবহার করে, ডোমেইন বস্তুর স্থানাংক এবং সম্প্রচারকরণ পরিচালনা করে । এটি ডোমেইন স্তরগুলোর ওপর নির্ভরশীল ।
  • [[F] [FR] LAN-র স্তর]:[FLTR] [FLTR] অ‌ট্টলগ, মেসেজিং, এবং অন্যান্য প্রযুক্তিগত চিন্তার উপর ভিত্তি করে ।
  • [[F] নেস্টেড নবিস স্তর:[[FFLT] [FLT] কন্ট্রোলার এবং দৃষ্টিভঙ্গি যা ইন্টারফেসের মাধ্যমে বিদ্যমান অ্যাপ্লিকেশনের স্তরগুলোর সাথে ইন্টারেক্ট করে ।

এই পৃথকীকরণ নিশ্চিত করে যে ডাটাবেস প্রযুক্তি, কোডিং কৌশল অথবা UI কাঠামো মূল ব্যবসায়িক যুক্তির মাধ্যমে তরঙ্গায়িত হয় না। এটি একক পরীক্ষাকে সহজ করে- যুক্তিকে ডাটাবেস ছাড়াই পরীক্ষা করা যায়।

পুনঃসূটোপেক ও সার্ভিস

মডেলদের পরিষ্কার এবং পরিষ্কার রাখার জন্য দুটি বিন্যাস বিশেষ করে মূল্যবান:

সংগ্রহস্থলের বিন্যাস

একটি রিপোজিটরি তথ্য ব্যবহার করে তথ্য, ডোমেইন বস্তুর মতো Members এ একটি উইণ্ডোস (LSIB) ইন্টারফেসের মত একটি রিপোজিটরিতে তথ্য সরবরাহ করা। নিয়ন্ত্রণ কেন্দ্রে প্রবেশের পরিবর্তে [FFROL] আপনি "RSQLSQL" (eSL) সূত্রকে পুনরায় প্রতিস্থাপন করতে পারবেন। এটি মাইQLSSQ -roloc-SQ থেকে কম ফলাফল পরীক্ষা করতে পারে অথবা এর ফলে প্রভাব পরীক্ষা করতে পারে।

সার্ভিস স্তর

সার্ভিসের মধ্যে ব্যবসায়িক যুক্তি রয়েছে, যা স্বাভাবিকভাবে একটি সত্তার অংশ নয় ।

আরও পড়ার জন্য [[F][FLT] দেখুন:L [FO]'র সংগ্রহস্থলের বর্ণনার সাথে [F]

তথ্য স্থানান্তর অবজেক্ট (DTOs) এবং প্রদর্শন মডেলName

এক্সপার্টমেন্ট স্তর বা বাইরের API ক্লায়েন্টদের দ্বারা আপনার পূর্ণ ডোমেইন মডেলকে তুলে ধরা হয়েছে। এর পরিবর্তে, ডিটিও ব্যবহার করে তথ্যকে আকার দিতে। এর মধ্যে রয়েছে অনেকটা প্রয়োজনীয় সুবিধা।

  • [[F] Debrufting [[F][FLT] ডোমেন সত্ত্বাতে পরিবর্তন করা যাবে না স্বয়ংক্রিয়ভাবে API ক্লায়েন্ট স্বয়ংক্রীয়ভাবে বন্ধ করে দেয় না ।
  • [[[F] সুরক্ষা:[FLT] সংবেদনশীল ঘর [FLT] (উদাহরণস্বরূপ, অভ্যন্তরীণ আই. ডি.), পর্যবেক্ষণ সময়ের চিহ্নগুলো বাদ দেওয়া যাবে ।
  • [[[F] PROPL...] [FLT] property:[F] [FO] শুধুমাত্র একটি নির্দিষ্ট সমাপ্তির জন্য কেবল জমির মান উল্লেখ করতে হবে, সময়সীমার মান কমিয়ে দেওয়া হবে ।

উপস্থাপনার স্তরগুলোর জন্য একই ধরনের মডেল প্রদর্শন করা হবে, যা শুধুমাত্র দেখার ক্ষেত্রে প্রযোজ্য তথ্য ধারণ করতে হবে (যেমন তারিখের সাথে ছিল হিসাবে)।

Scraper এর জন্য ডাটাবেসের প্রবেশ করান

ডাটাবেসের প্রবেশ সুবিধা উপলব্ধ থাকলে, পরিষ্কার মডেলের স্থাপত্যের কর্ম ব্যর্থ হবে। কি পরিকল্পনাসমূহ:

ইন্ডেক্স করা হচ্ছে

[FLT], [FLT] এবং [FLT] এনট্রিগুলো] মুছে ফেলো, যাতে ধীর গতিতে প্রদর্শিত হতে পারে।

অনুসন্ধান করা হচ্ছে

রিডিস অথবা এমমোক- এর মতো রম্য সংরক্ষণাগারে ব্যবহার করুন। ব্যয়বা দামী প্রশ্ন করার ফলাফল ক্যাশে করার জন্য (সময়-ভিত্তিক, ইভেন্ট-dven, বা ম্যানুয়াল) নির্দিষ্ট করা হয়।

পন্তরণ এবং অলস লোড করা হচ্ছে

( বৈশিষ্ট্য নির্ধারণ করুন)

অলস লোড করা হচ্ছে

কর্মক্ষমতার সঠিক লোডিং কৌশল নির্বাচন করা হচ্ছে:

  • [[[F]লাজি লোড:[FLT] write [[F] এর সাথে সম্পর্কিত তথ্য কেবলমাত্র প্রবেশ করা অবস্থায় লোড করা হয় । এটি শুধুমাত্র একক- স্ব-সত্বশাসন কাজের জন্য কার্যকর কিন্তু লুপের (আন্তরমূলক+1) ।
  • [[[[F] লোড:[[F]] একটি নির্দিষ্ট অনুসন্ধানে সব প্রয়োজনীয় সম্পর্ক লোড করো । যখন আপনি দৃশ্য বা সার্ভিসের সঙ্গে সম্পর্কযুক্ত তথ্য জানতে পারেন, তখন সেটি লোড করতে হবে ।

পরিচিত পথ অনুসন্ধান এবং খুব কম ব্যবহারের জন্য অলস লোড করার জন্য একটি activative পদ্ধতি ব্যবহার করতে ডিফল্ট এবং এটি ব্যবহার করতে ইচ্ছুক । আপনার ডাটাবেসের মধ্যে সঠিক ভারসাম্য খুঁজে পাওয়ার জন্য বাস্তব সম্মত ভাবে অনুসন্ধানের জন্য ব্যবহার করুন ।

অনুভূমিক মাপ নির্ধারণের জন্য পরিকল্পনা

একটি সার্ভার ছাড়া অ্যাপ্লিকেশন বড় করলে, মডেল স্তরটি অবশ্যই বন্টন করতে হবে:

  • [[[F]] রাষ্ট্রহীন মডেল:[[F] ব্যবহারকারীর সেশন বা অনুরোধকৃত ডাটা সংরক্ষণ করা হবে না । রাষ্ট্রহীন সেবা প্রদান করার ক্ষেত্রে সুনির্দিষ্ট ই- মেইল ঠিকানা ব্যবহার করুন ।
  • [[[F] :\ t] f[FLT]] যে মডেলগুলো নেটওয়ার্কগুলি (যেমন, JSON API. যেমন, দ্রুত সিরিয়াল রূপান্তর/রিজেন্টিং/ সাব্‌টেলের পরিবর্তে FIODS ব্যবহার করা উচিত ।
  • [[[F] daveding:[F] উচ্চ পর্যায়ের বড় তথ্য, একাধিক ডাটাবেসের মধ্যে তথ্য, পার্টিশন রেফারেন্স তথ্য । আপনার রিপেটের স্তর নিষ্ক্রিয় করা উচিত, সুনির্দিষ্টভাবে একটি রুটের উপর ভিত্তি করে একটি রুটের কৌশলের সঙ্গে সামঞ্জস্যপূর্ণ।
  • [[[[[]] উপ-বিজ্ঞ] :[[[[[F]] বিতরণকৃত সিস্টেমে বিতরণকৃত কার্সারগুলো এড়িয়ে চলুন । এর পরিবর্তে, ইভেন্ট এবং লাইনের অনুরূপ লাইনে অবস্থার মধ্যে আবদ্ধ সামগ্রী বিতরণ করুন ।

অতিরিক্ত পাঠ

নির্ভরতা

রিপোজিটরি রিপোজিটরি এবং সার্ভিস নির্ভরতা সমাধান করতে একটি নির্ভরতার ধারক ব্যবহার করুন । এই ডিকোস্কোপ নকশার অনুরূপ নকশা তৈরি করা এবং পরীক্ষা করার জন্য প্রয়োজনীয় উপাদানগুলোকে পুনরায় ব্যবহার করুন অথবা আকার পরিবর্তন করার জন্য প্রয়োজনীয় উপাদান বের করুন ।

স্থায়ী

এ ছাড়া, ইলেকট্রিক্যাল মডেলগুলো পরীক্ষা ও ক্যাশ করার ক্ষেত্রে সহজ ।

নির্ভরতা পরীক্ষা করা হচ্ছে

সার্ভিস এবং ডোমেইন যুক্তির জন্য ইউনিট পরীক্ষা করা দরকার নয় একটি ডাটাবেস বা কাঠামোর বুট বিচ্ছিন্ন করে। একটি বাস্তব ডাটাবেসের বিরুদ্ধে যুদ্ধ বিরতি প্রয়োগের জন্য। এটি প্রকৃত ডাটাবেসের বিরুদ্ধে দৃঢ়তার সঙ্গে কাজ করতে পারে, কিন্তু লক্ষ্যমূলক আচরণ নিশ্চিত করতে পারে।

অ্যান্টি- ভাইরাস স্তর

উত্তরাধিকার সিস্টেম অথবা বহিস্থিত API দ্বারা বিভাজিত অবস্থায় যখন এটি একটি দুর্নীতি বিরোধী স্তর তৈরি করবে যা আপনার মডেল এবং বাইরের সিস্টেমের মডেলের মধ্যে থেকে আপনার ডোমেইনের তথ্য সংরক্ষণ করা যাবে । এর ফলে বাইরের পরিবর্তন সকল বহিস্থিত পরিবর্তনকে আপনার ডোমেইনের মধ্যে ফাঁস হয়ে যেতে পারে ।

নথিপত্র এবং কোড পর্যালোচনা

মডেল কাঠামোগুলো প্রায়শই সময় অতিবাহিত হওয়ার সাথে সাথে অকার্যকর হয়ে যায়। স্থাপত্যের সিদ্ধান্তের রেকর্ড বজায় রাখা এবং কোড পর্যালোচনার মাধ্যমে নিজেদের মধ্যে সম্পর্ক বজায় রাখা।

অন্তর্ভুক্ত

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

এই সম্পদগুলো এখানে আলোচনা সম্বন্ধে গভীর অন্তর্দৃষ্টি প্রদান করে [[FFLT] [FL] [FL]] এর ডোমেইন ডিজাইন বইয়ের [FL] এবং[FL] [FO[FL] [FD] বিন্যাসগুলো] সম্বন্ধীয় বিস্তারিত তথ্য সরবরাহ করে ।