In the course of application development, certain components are often used more than once. Whether the reuse happens within the same application, or across different applications, it is often advantageous to package these reusable components into a library that can be shared between different developers, across different teams, and even across departments within an organization.
ADF Library provides a convenient and practical way to create, deploy, and reuse high-level components. You should design your application with component reusability in mind. If you created components that can be reused, you can package them into JAR files and add them to a resource catalog. If you need a component, you may look into the resource catalog for that component and then add the library into your project or application.
For example, you can create an application module for a domain and package it up to be used as the model project in several different applications. Or, if your application consumes components, you may be able to load a page template component from a repository of ADF Library JARs to create common look-and-feel pages. Then you can put your page flow together by stringing several task flows components pulled from the library.