• 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).