Views
User 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.Models
Components 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.Controllers
A 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 Objects
A 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.Services
A 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.Plugins
Components designed to extend the functionality of an application or system. For example, a plugin for a media player to visualize music.APIs
A component that can be reused across multiple systems and applications can be packaged and distributed as an API. For example, an open source API to connect to a particular database.Overview: Software Components | ||
Type | ||
Definition | Software that is divided into parts that implement functionality and hide complexity. | |
Related Concepts |