During the development of desktop applications, one can often come across software functions that have already been implemented by someone before. Numerous times an application’s only purpose is to combine these functions together according to some kind of business logic.
I examined multiple pieces of software belonging to certain areas of use where the above statement is correct. These applications created for monitoring employees, parental control, device theft protection or unauthorized access prevention, are using the same basic methods and components but in different combinations. Creation of a software architecture that allows such components of the application to be configured and joined together freely either development or in run-time could both be a major help for developers and also increase customer satisfaction with the final product.
As my thesis I implemented a solution in the form of a class library which can be used in any environment where the .NET framework is supported. With the use of this class library the basic functions developed by me are available to the user either through the conventional way, or with the use of my custom software architecture. I also support the option to extend the basic functions with custom ones by inheriting the abstract classes provided by the architecture.