software – What are the Design Patterns that encourage component reuse?


Hi I am an Website and an App developer,
One of the major issues that I am facing is that certain components / features have to be redeveloped over and over again with a new project. For instance login, signup, user account settings etc with each new UI.

Is there a recommended method or a best practice (Design Pattern) where I could develop my code in a ‘Plug and Play’ method such that I don’t have to redevelop these components over an over again.