Software Architectures, Frameworks, and Patterns
Elvis C. Foster · Auerbach Publications eBooks · 2021
This chapter discusses software engineering frameworks as a significant building block for the design and construction of contemporary software systems. The purpose of this chapter is to clearly differentiate use of software architectures, frameworks, and patterns and provide a cursory introduction to each. Software Architecture is the overall structure of all the software components in an application and how they interrelate with each other. The chapter then provides the goal of software architecture. It also provides a brief clarification on the various categories of software architecture. A software framework is an abstraction that provides general family of functionalities for some purpose but allows the developers to adopt those functionalities and overwrite code behavior whenever necessary. The chapter then provides a brief overview of each framework category. This chapter observes that software patterns may be categorized into creational patterns, structural pattern, behavioral patterns, and concurrency patterns. This is followed by a summary of each category of software patterns.