Toolkits and Frameworks

Classes of Software

Three broad classes of software:

  • Application Programs
  • Toolkits
  • Frameworks

Application Programs

  • You know what an application program is.
  • When writing one, you focus on internal reuse, maintainability, and extension

Toolkits

  • A toolkit is probably just an oo way to say "library"
  • Could be a class library or a component library
  • Toolkits are all about code reuse between applications
  • Different applications can use the same toolkit
  • Good toolkits are pretty general, not application-specific at all

Frameworks

  • A framework is pretty-much the structure of an application
  • Usually implemented as a set of cooperating classes making up a reusable design for a specific class of software
  • The framework "dictates the architecture" of your application.
  • You build an application by filling in the holes in the framework
  • Frameworks encourage plug-ins
  • Frameworks emphasize design reuse over code reuse.
  • In a way, this is kind of inverting the usual relationship between the application and the software on which it's based. Applications call toolkits but frameworks call applications

Differences between design patterns and frameworks

  • Design patterns are more abstract than frameworks.
  • Design patterns are smaller architectural elements than frameworks.
  • Design patterns are less specialized than frameworks.

你可能感兴趣的:(Toolkits and Frameworks)