tg-me.com/beginprogrammer/639
Last Update:
⚡SOLID Principles⚡
(part 4)
⚡ رابع مبدأ(ISP) Interface segregation principle
- “ Clients should not be forced to depend on methods they do not use”
إذا كان يوجد كلاس يرث من Interface المفروض لا يعمل Impalement إلا للـ methods اللي هو يحتاجها .
لذلك عند بناء Interface يجب ان يكون كُل الـ methods الموجودة مرتبطة مع بعض مالم يتم تقسيمها إلا أكثر من Interface وهذا المبدأ شبيه إلا حدٍ ما من مبدأ SRP.
واقصد هُنا بالـ Interface أي جزء يستخدمه الـ client سواءً Class او Interface
مثلاً كان عندك Interface لطرق الدفع ، وشخص آخر حب يأخذ منك الواجهة هذي ويستخدمها في طريقة الدفع اونلاين
فأنت قولت له عشان تستخدم الواجهة لازم تعمل Implement للدالة الخاصة بالدفع اونلاين وكمان للدالة الخاصة بالدفع كاش عشان يشتغل معاك، طيب هو ما يحتاج الدفع كاش تجبره عليها ليش🙄؟
لذلك يتم تقسيم Interface وتكون كُل Interface خاصة بطريقة دفع مُعينه وبكذا حققنا مبدأ ISP وبنفس الوقت مبدأ SRP.
يتبع..
BY بدايه مبرمج

Share with your friend now:
tg-me.com/beginprogrammer/639