ViewsUser interface components for different requests, views and scenarios. For example, difficult components can be used to display the same information in a web page and mobile app.
ModelsComponents that handle requests or events including business rules and data processing. For example, a model might handle a bill payment request for an internet banking website.
ControllersA controller is a component that decides what components to call for a particular request or event. For example, a controller might dynamically load different views for a bill payment based on factors such as language, transaction status or channel.
Data Access ObjectsA data access object provides an abstract interface for databases. In theory, this allows you to switch to a different database without the application needing to know. This shows the power of a component based approach as dramatic changes can be confined to a relatively small section of a code base.
ServicesA service is a component that is deployed independently. For example, a bank might deploy a market data service to cloud infrastructure. This service would provide stock market data to a variety of stock trading systems and applications. Services allow for extremely resilient applications. For example, if an application doesn't get a response from a service, it can try again and be directed to a completely different instance.
PluginsComponents designed to extend the functionality of an application or system. For example, a plugin for a media player to visualize music.API. For example, an open source API to connect to a particular database.
|Overview: Software Components|
Software that is divided into parts that implement functionality and hide complexity.