ڈرافٹ طرزِ عمل سافٹ وئیر انجینئری میں ایک طاقتور ڈیزائنی کا نمونہ ہے جو ترقی کرنے والوں کو یہ اجازت دیتا ہے کہ وہ اپنے اصل کوڈ میں ترمیم کیے بغیر نئے عملی کامی کاملیت کو شامل کر سکیں یہ رسائی خاص طور پر اس وقت مفید ہے جب آپ کو ان کے ماخذ کوڈ میں تبدیلی کرنے کے لیے سروس کے طریقوں کو شامل کرنے، صاف صاف اور محفوظ رکھنے کے قابل کوڈبیس کو مستحکم کرنے کے لیے شامل کرنے کی ضرورت ہو۔
اِس کے علاوہ ، یہ بات بھی واضح ہے کہ ہم کس حد تک ایک دوسرے سے فرق ہیں ۔
dector s انداز میں ایک ایسی کلاس بنانا شامل ہے جو اصل درجہ بندی کے طور پر ایک ہی منفرد عمل کو عمل میں لاتا ہے۔اس لپیٹپر مندوبین اصل سروس کو دعوت دیتے ہیں مگر مزید اضافی برتاؤ شامل کرتے ہیں—جیسے کہ طریقہ کار کی ادائیگی سے پہلے یا بعد میں۔
کیونوس کے ساتھ منسلک کرنا
فرض کریں کہ آپ کو ایک سروس کے بارے میں ایک اقدام ہے:
public interface DataService {
void fetchData();
}
آپ ایک تصدیقی عمل بنا سکتے ہیں:
public class RealDataService implements DataService {
@Override
public void fetchData() {
// Fetch data from a database or external API
}
}
اس کے بعد، ایک dector class بنائیں جو کہ جمع کرتا ہے:
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.");
}
}
کو استعمال کرنے والا
اپنے حالیہ خدمت کے ساتھ فوری طور پر ڈیورٹر کو شامل کرنے کیلئے :
DataService service = new RealDataService();
DataService loggedService = new LoggingDataServiceDecorator(service);
// Now, calling fetchData will include logging
loggedService.fetchData();
اُس وقت تک اُس کے کام آئیں گے ۔
- ابتدائی کوڈ تبدیل کئے بغیر موجودہ عملی مساوات
- کو دیکھیں ۔
- فیزمانہ اِس عمل کو مختلف قسم کے طرزِعمل کی مختلف تہوں میں شامل کرتا ہے
اس کے لیے ڈیٹنگ کے نمونے کا استعمال کرنا ایک ایسا آسان حل ہے جو صاف کوڈ برقرار رکھتا ہے اور کھلے عام اصول پر قائم رہتا ہے جس کی وجہ سے آپ کی درخواستوں کو وسعت اور برقرار رکھنے میں سہولت ہوتی ہے۔