Chapter 4Android SDK

4.1 Software Components, in general

There will be times when you hear the term “software component” applied to just any application class or object. Loosely speaking, the terms component, class, and object may be used interchangeably. However, there is a more specific, narrow definition and meaning of the term component that goes over and beyond a class or an object in the object-oriented paradigm.

Software components are typically characterized by strong interfaces, strong modularity, and strong separation of responsibilities between the application logic and the runtime “container” environment that houses components. The “container” is an environment that manages the full life cycle of the components that execute within it. The container is responsible for loading the component’s class, creating and destroying instances, pooling instances, injecting application and security contexts, enforcing security, providing and controlling access to resources and services, and so on. The motivation is to be able to create reusable building blocks and integrate them into a larger environment or system and achieve the goal of interoperability and seamless integration.

Whenever software is developed within a component-based development model, there is a greater emphasis on understanding the contractual obligations of the application developer versus the responsibilities of the runtime container provider.

Well-known component models include JavaBeans®, Enterprise JavaBeans ...

Get Wearable Android: Android Wear and Google FIT App Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.