Software components With special focus on DLL Software components1
Component-based software engineering Separation of concerns Encapsulation Substituable Components can replaces each other, provided they have the same interface Reusability Components can be used in different applications Service-orientation Components service applications Components are placed on the host computer or accessed through a network (ex. web services) Software components2
General requirements Components must be Fully documented Thoroughly tested Designed to be used in different context/applications Software components3
Microsoft DLL/class libraries DLL = Dynamic Link Library Aka. C# class libraries Microsoft components Class libraries, useful with desktop applications Portable class libraries useful with desktop applications Windows Phone application Window Store applications More platforms, less API can be used in a portable class library Software components4
References and further readings Wikipedia Component-based software engineering Rizan Ali Creating a Library Using Visual Studio library-dll-using-visual-studio-2015-pre/ library-dll-using-visual-studio-2015-pre/ MSDN Cross-Platform Development with the Portable Class Library Software components5