> For the complete documentation index, see [llms.txt](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design.md).

# Design

- [Wrap Legacy APIs](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/working-with-legacy-assets.md)
- [Think Products, Not Applications](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/think-products-not-applications.md)
- [Identify Common Needs](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/planning.md)
- [Create Common Connectivity Components](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/create-common-connectivity-components.md)
- [Consistent APIs](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/consistent-apis.md)
- [Manage Domain Variations](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/manage-domain-variations.md)
- [Evolve Functionality Iteratively](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/evolve-functionality-iteratively.md)
- [Offer Reusable Assets with Multiple Interfaces](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/provide-multiple-interfaces.md)
- [Leverage Services Across Functional Flows](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/leverage-services-across-functional-flows.md)
- [Mediate Service Requests & Responses](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/mediate-service-requests-and-responses.md)
- [Refactoring](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/refactor-services.md)
- [Abstract Utility Functions](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/abstract-utility-functions.md)
- [Reduce Technical Debt](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/reduce-technical-debt.md)
- [Facilitate Extensibility](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/facilitate-extensibility.md)
- [Encapsulate Variations Using Patterns](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/encapsulate-variations.md)
- [Understand Adoption Barriers](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/understand-api-adoption-barriers.md)
- [Ease Testability](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/ease-testability.md)
- [Supportability](https://vijaynarayanan24.gitbook.io/art-of-software-reuse/design/operability.md)
