jeudi 17 juin 2021

Make C# compiled application open for Extensions or behavior modification (By External Assembly)

I Have a C# application I distribute to my customers. And I am continually releasing new versions with additional features or fixing bugs.

But some customers request additional features to be embedded in the application or even different behavior for some existing functionalities, and that totally customed to their businesses.

I don’t want to modify the main application or create a customized version for each customer because that will prevent me from keep updating them with future releases, or at least will make the update so difficult.

My idea is to create a separate Class Library Project for each customer request customizations and implement those customized requirements in it. But the problem here, what is the best way or good Idea that will make the application open for external extensions/addons.

I am fine with making modifications in the main application that will allow it to be open for this concept.

Any design pattern I have to follow? or concept I have to implement?

thanks.

Aucun commentaire:

Enregistrer un commentaire