আমি মনে করি আপনাকে এই ক্ষেত্রে দুটি ধরণের বৈধতা আলাদা করতে হবে; ডোমেন বৈধতা এবং অ্যাপ্লিকেশন বৈধতা ।
অ্যাপ্লিকেশন বৈধতা যা আপনি যাচাই করেন যখন কমান্ড প্রপার্টি 'পাঠ্য' 20 এবং 200 অক্ষরের মধ্যে থাকে; সুতরাং আপনি এটি জিইউআই এবং একটি ভিউ-মডেল-যাচাইকারীর সাথে বৈধতা দিন যা কোনও পোস্টের পরে সার্ভারে চালিত হয়। ইমেলটিও একই রকম হয় (বিটিডাব্লু, আমি আশা করি আপনি বুঝতে পেরেছেন যে e 32.d + "হ্যালো ওয়ার্ল্ড .42" @ মাইন্ডোমেন.লোকাল "এর মতো কোনও ইমেল আরএফসি অনুসারে বৈধ)।
তারপরে আপনার অন্য বৈধতা আছে; নিবন্ধটি বিদ্যমান রয়েছে কিনা তা যাচাই করুন - আপনার নিজের কাছে প্রশ্নটি জিজ্ঞাসা করতে হবে যদি জিইউআই থেকে কোনও মন্তব্য যুক্ত হওয়ার বিষয়ে সত্যই কোনও আদেশ প্রেরিত হয় তবে নিবন্ধটির অস্তিত্ব কেন থাকবে না। আপনার জিইউআই কি শেষ পর্যন্ত সামঞ্জস্যপূর্ণ ছিল এবং আপনার সামগ্রিক মূল, নিবন্ধটি রয়েছে যা ডেটা স্টোর থেকে শারীরিকভাবে মুছে ফেলা যায়? সেক্ষেত্রে আপনি কেবল কমান্ডটি ত্রুটি কাতারে সরিয়ে নিয়েছেন কারণ কমান্ড হ্যান্ডলার সমষ্টিগত রুটটি লোড করতে ব্যর্থ।
উপরের ক্ষেত্রে, আপনার কাছে এমন অবকাঠামো থাকবে যা বিষের বার্তাগুলি পরিচালনা করে - তারা উদাহরণস্বরূপ 1-5 বার বার্তাটি আবার চেষ্টা করবে এবং তারপরে এটি একটি সারি সারিতে সরিয়ে নিয়ে যাবে যেখানে আপনি ম্যানুয়ালি বার্তাগুলির সংগ্রহটি পরীক্ষা করতে পারবেন এবং সেগুলি প্রাসঙ্গিকভাবে প্রেরণ করতে পারবেন। এটি নিরীক্ষণ করা ভাল জিনিস।
সুতরাং এখন আমরা আলোচনা করেছি:
ডোমেনের সাথে সিঙ্কের বাইরে থাকা কমান্ডগুলির কী হবে? সম্ভবত আপনার ডোমেন যুক্তিতে এমন একটি নিয়ম আছে যে একটি নিবন্ধে 5 টি মন্তব্য করার পরে, কেবলমাত্র 400 টি অক্ষরের নীচে মন্তব্য করার অনুমতি দেওয়া হয়েছে, তবে একটি লোক 5 তম মন্তব্যে খুব দেরী করেছিল এবং 6 তম হতে পারে - জিইউআই এটি ধরেনি কারণ তাঁর কমান্ড প্রেরণ করার সময়ে এটি ডোমেনের সাথে সামঞ্জস্যপূর্ণ ছিল না - এই ক্ষেত্রে আপনার ডোমেন যুক্তির অংশ হিসাবে আপনার 'বৈধতা ব্যর্থতা' রয়েছে এবং আপনি সংশ্লিষ্ট ব্যর্থতার ঘটনাটি ফিরিয়ে আনবেন।
ইভেন্টটি কোনও বার্তা দালাল বা আপনার কাস্টম প্রেরককে বার্তার আকারে হতে পারে। ওয়েব সার্ভার, যদি অ্যাপ্লিকেশন একচেটিয়া থাকে তবে একটি সাফল্য ইভেন্ট এবং উল্লিখিত ব্যর্থতার ইভেন্ট উভয়ের জন্য একযোগে শুনতে এবং যথাযথ দর্শন / আংশিক প্রদর্শন করতে পারে।
প্রায়শই আপনার কাস্টম ইভেন্ট থাকে যার অর্থ হ'ল বিভিন্ন ধরণের কমান্ডের ব্যর্থতা, এবং এটি এই ইভেন্টটি যা আপনি ওয়েব সার্ভারের দৃষ্টিকোণ থেকে সাবস্ক্রাইব করেছেন।
যে সিস্টেমে আমরা কাজ করছি, আমরা ম্যাসট্রান্সিট + রবিটএমকিউ বার্তা + ব্রোকারের মাধ্যমে কমান্ড / ইভেন্টগুলির সাথে অনুরোধ-প্রতিক্রিয়া করছি এবং আমাদের এই বিশেষ ডোমেনে (অংশে একটি ওয়ার্কফ্লো মডেলিং) নামকরণ করা হয়েছে InvalidStateTransitionError
। রাজ্য গ্রাফের এক প্রান্তে অগ্রসর হওয়ার চেষ্টা করা বেশিরভাগ আদেশের ফলে এই ইভেন্টটি ঘটতে পারে। আমাদের ক্ষেত্রে, আমরা একটি শেষ পর্যন্ত সামঞ্জস্যপূর্ণ দৃষ্টান্তের পরে জিইউআই মডেলিং করছি এবং তাই আমরা ব্যবহারকারীকে একটি 'কমান্ড স্বীকৃত' পৃষ্ঠাতে প্রেরণ করি এবং এরপরে ইভেন্টের সাবস্ক্রিপশনের মাধ্যমে ওয়েব সার্ভারের দৃষ্টিভঙ্গিগুলিকে প্যাসিভ আপডেট করা যাক। এটি উল্লেখ করা উচিত যে আমরা সামগ্রিক শিকড়গুলিতে ইভেন্ট-স্যোসারিংও করছি (এবং পাশাপাশি সাগাসের জন্যও করব)।
সুতরাং আপনি দেখুন, আপনি যে বৈধতাটির কথা বলছেন তার অনেকগুলি হ'ল আসলে অ্যাপ্লিকেশন-ধরণের বৈধতা, প্রকৃত ডোমেন যুক্তি নয়। আপনার ডোমেনটি সহজ হলে আপনি যদি ডিডিডি করেন তবে সাধারণ ডোমেন মডেলটি নিয়ে কোনও সমস্যা নেই। তবে আপনি যখন আপনার ডোমেনটির মডেলিং চালিয়ে যাচ্ছেন, আপনি আবিষ্কার করতে পারবেন যে ডোমেনটি প্রথম পরিণত হিসাবে এতটা সহজ হতে পারে না। অনেক ক্ষেত্রে সামগ্রিক মূল / সত্তা কেবল কোনও আদেশের ফলে প্রাপ্ত পদ্ধতি অনুরোধ গ্রহণ করতে পারে এবং কোনও বৈধতা না করেই তার কিছু অবস্থা পরিবর্তন করতে পারে - বিশেষত যদি আপনি আপনার আদেশগুলি বিশ্বাস করেন যে আপনি যদি ওয়েব সার্ভারে তাদের বৈধ করে থাকেন তবে আপনি নিয়ন্ত্রণ করুন।
আমি নরওয়ের বিকাশকারী সম্মেলন ২০১১ থেকে ডিডিডি-তে দুটি উপস্থাপনা এবং আরেদেভ ২০১০- তে গ্রেগের উপস্থাপনাটি পুনরায় বিবেচনা করতে পারি ।
চিয়ার্স, হেনকে