In computer programming, a software framework is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code, thus providing specific functionality. Frameworks are a special case of software libraries in that they are reusable abstractions of code wrapped in a well-defined Application programming interface (API), yet they contain some key distinguishing features that separate them from normal libraries. There are different types of software frameworks: conceptual, application, domain, platform, component, service, development, etc.... The designers of software frameworks aim to facilitate software development by allowing designers and programmers to devote their time to meeting software requirements rather than dealing with the more standard low-level details of providing a working system, thereby reducing overall development time. For example, a team using a web application framework to develop a banking web-site can focus on the operations of account withdrawals rather than the mechanics of request handling and state management. (Excerpt from Wikipedia article: Framework)
↧