উপস্থিত সেবাকে নিয়ন্ত্রণ না করে, উপস্থিত সেবাকে যুক্ত করার জন্য ডিসেম্বর মাসে একবার পরিকল্পনা করা

এই পদ্ধতি বিশেষভাবে সাহায্যকারী যখন আপনাকে তাদের উৎস কোড পরিবর্তন না করে সার্ভিসের পদ্ধতি ব্যবহার করতে হবে, তখন আপনাকে পরিষ্কার - পরিচ্ছন্ন কোড সংরক্ষণ করতে হবে এবং বহনযোগ্য কোড সংরক্ষণ করতে হবে ।

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

এই মোড়ক প্রতিনিধিরা মূল সেবাকে আরো কিছু বলে অভিহিত করেছেন- যেমন পদ্ধতির মাধ্যমে লগ করা হবে- যেমন, লগ করা হবে-এর আগে অথবা পদ্ধতি কার্যকর করার আগে-এর মাধ্যমে।

ডেভেলপেটর প্যাটার্ন দ্বারা লগিং করা হচ্ছে

সম্ভবত আপনার একটি সার্ভিস ইন্টারফেস রয়েছে:

public interface DataService {
 void fetchData();
}

আপনি একটি ফিক্সড তৈরি করতে পারেন:

public class RealDataService implements DataService {
 @Override
 public void fetchData() {
 // Fetch data from a database or external API
 }
}

পরবর্তী, একটি স্থাপত্যবিদ শ্রেণী তৈরি করবে, যার সাথে যোগ করা হয়েছে:

public class LoggingDataServiceDecorator implements DataService {
 private final DataService wrappedService;

 public LoggingDataServiceDecorator(DataService service) {
 this.wrappedService = service;
 }

 @Override
 public void fetchData() {
 System.out.println("Fetching data started.");
 wrappedService.fetchData();
 System.out.println("Fetching data completed.");
 }
}

প্রতিলিপিকারীদের ব্যবহার করুন

লগ-ইন করার জন্য, বর্তমানে উপলব্ধ সেবা দ্বারা নির্মিত এইwiseererer:

DataService service = new RealDataService();
DataService loggedService = new LoggingDataServiceDecorator(service);

// Now, calling fetchData will include logging
loggedService.fetchData();

প্রতিলিপিকারীদের বিভিন্ন উপকার

লগিং এর উপযোগী নকশা ব্যবহার করে একটি চমৎকার সমাধান যা পরিষ্কার কোড বজায় রাখে এবং উন্মুক্ত--বর্জন নীতি মেনে চলে, আর আপনার অ্যাপ্লিকেশন আরো প্রসারিত এবং বজায় রাখার জন্য সহজেই চেষ্টা করে।