Я рассматриваю фреймворк как шаблон, которому может соответствовать приложение, определенное в наборе библиотек.
«Базовая» библиотека классов может означать несколько вещей в зависимости от контекста; он может ссылаться на классы, которые предназначены для наследования, что является обычным подходом в инфраструктуре, или он может просто ссылаться на базовую библиотеку классов, которые, как предполагается, полезны в любом приложении и поэтому считаются «базовой» потребностью почти часть языка (например, контейнерные классы).