এই বিন্যাসটি বিভিন্ন ধরনের বাণিজ্যিক আইন ও বৈধ যুক্তিকে পরিচালনা করার জন্য সফটওয়্যার উন্নয়নের ক্ষেত্রে ব্যবহৃত হয় ।

অপূর্ব প্যাটার্ন কী?

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

[ অধ্যয়ন প্রশ্নাবলি]

  • [[[F]R] ROTPRE:[FLT] অ্যাপ্লিকেশনের বিভিন্ন অংশ পুনরায় ব্যবহার করা যাবে ।
  • [[[F] Complet:[F][FLT] সাধারণ মান [FLT] জটিল বৈধ নিয়ম তৈরি করতে [FONECRECT CLTION :] [FONECT]] [FLT]
  • [[[F] প্রধান] প্রধান ব্যক্তি:[[F] ব্যবসার নিয়ম :[FLT]] বৈধ নিয়ম অপরিবর্তিত রাখা হয়, এর ফলে আরো সহজ হয়ে যায় ।
  • [[[F] পরীক্ষা করো:[FLT][FLT][FLT]] কোয়েরি পরীক্ষা করা যাবে স্বাধীনভাবে পরীক্ষা করা হবে, নিশ্চিত করুন ।

ব্যবসা পরিচালনার জন্য নকশা স্থাপন

সুনির্দিষ্ট বিন্যাস প্রয়োগের জন্য, একটি ইন্টারফেস অথবা কোনো মান নির্ধারণ করুন। সুনির্দিষ্ট নিয়ম অনুযায়ী এই সকল সুনির্দিষ্ট নিয়ম প্রয়োগ করা হবে। উদাহরণ: e- net- ই-কমার্স ব্যবস্থার অনুরূপ, [F] [F] এর অনুরূপ CLTION [F] [F]:L] [FODUG] [F]:L]:L] [F]:[F]]

Complet অপারেটরদের একসাথে ব্যবহার করা যাবে। উদাহরণস্বরূপ, একটি পারমাণবিক সুনির্দিষ্ট বিবরণ পরীক্ষা করুন [FROL] [F00:] এবং [FOL] অংশটি স্টকে রয়েছে কিনা। এই পদ্ধতিটি স্পষ্টভাবে পূর্বাবস্থায় সংশোধনযোগ্য, সুনির্দিষ্টভাবে পরীক্ষা করতে সক্ষম।

কোডের উদাহরণ

এখানে একটি সরল উদাহরণ রয়েছে যা ডিফ্ট-কোডে লেখা:

interface Specification {
 boolean isSatisfiedBy(Entity candidate);
}

class EligibleForDiscountSpecification implements Specification {
 boolean isSatisfiedBy(Customer customer) {
 return customer.isLoyal() && customer.hasNoOutstandingPayments();
 }
}

class ProductInStockSpecification implements Specification {
 boolean isSatisfiedBy(Product product) {
 return product.stockCount > 0;
 }
}

class AndSpecification implements Specification {
 private Specification spec1;
 private Specification spec2;

 AndSpecification(Specification s1, Specification s2) {
 this.spec1 = s1;
 this.spec2 = s2;
 }

 boolean isSatisfiedBy(Entity candidate) {
 return spec1.isSatisfiedBy(candidate) && spec2.isSatisfiedBy(candidate);
 }
}

// Usage
Specification discountEligibility = new AndSpecification(
 new EligibleForDiscountSpecification(),
 new ProductInStockSpecification()
);

এই নকশা স্পষ্ট, বজায় রাখা, বহনযোগ্য যুক্তি, বিশেষ করে জটিল ব্যবসায়িক পরিবেশের ক্ষেত্রে ।