• SOLID principles

     

    1

     𝐀 𝐜𝐥𝐚𝐬𝐬 𝐬𝐡𝐨𝐮𝐥𝐝 𝐡𝐚𝐯𝐞 𝐨𝐧𝐞 𝐚𝐧𝐝 𝐨𝐧𝐥𝐲 𝐨𝐧𝐞 𝐫𝐞𝐬𝐩𝐨𝐧𝐬𝐢𝐛𝐢𝐥𝐢𝐭𝐲.

    2

     

    A class should be open for extension but closed for modification

    3

    𝐃𝐞𝐫𝐢𝐯𝐞𝐝 𝐜𝐥𝐚𝐬𝐬𝐞𝐬 𝐦𝐮𝐬𝐭 𝐛𝐞 𝐬𝐮𝐛𝐬𝐭𝐢𝐭𝐮𝐭𝐚𝐛𝐥𝐞 🔃 𝐟𝐨𝐫 𝐭𝐡𝐞 𝐛𝐚𝐬𝐞 𝐜𝐥𝐚𝐬𝐬.

    4

     

    No one should be required to implement methods that they will not use in their classes.

    5

     

    A class should depend on abstraction ✅(interfaces and abstract classes) and not on concretion (classes).