Blog top image

Single Responsibility Principle


Single Responsibility Principle এর মূলকথা হচ্ছে একটা ক্লাস শুধু মাত্র একটা কারণেই পরিবর্তন করা যাবে। এর অন্য মানে হচ্ছে একটা ক্লাস শুধুমাত্র এবং শুধুমাত্র একটাই কাজ করবে।  নিচের EmployeeService ক্লাসটা দেখা যাক 

public class EmployeeService {
   public void updateByName(String employeeName) {…}
   public void getEmployeeByAddress() {…}
   public void sendEmailNotification() {…}
}

এখানে  ক্লাসটা দুটা কাজ করছে 

১। এমপ্লয়ির রিলেটেড কাজ এবং   

২। ইমেইল সেন্ড

তাই এই EmployeeService  ক্লাস Single Responsibility Principle প্রিন্সিপাল ভঙ্গ করেছে। এটাকে ঠিক করার জন্য নিচের মতো করে রিফেক্টর করতে হবে। নোটিফিকেশন এর জন্য আলাদা ক্লাস তৈরি করে সেখানে ইমেইল সেন্ড সরিয়ে নিতে হবে।

public class EmployeeService {
   public void updateByName(String customerName) {…}
   public void getEmployeeByAddress() {…}
}
public class NotificatonService {
   public void sendEmailNotification() {…}
}