libreria framework entre diferencia frameworks class-library

frameworks - libreria - diferencia entre framework y ide



¿Cuál es la diferencia entre una biblioteca de clases y un marco (11)

Biblioteca:

Es solo una colección de rutinas (programación funcional) o definiciones de clase (programación orientada a objetos). La razón detrás es simplemente la reutilización del código , es decir, obtener el código que ya ha sido escrito por otros desarrolladores. Las clases o rutinas normalmente definen operaciones específicas en un área específica del dominio . Por ejemplo, hay algunas bibliotecas de matemáticas que pueden permitir al desarrollador simplemente llamar a la función sin rehacer la implementación de cómo funciona un algoritmo.

Marco de referencia:

En el marco, todo el flujo de control ya está allí, y hay un montón de puntos blancos predefinidos que debemos completar con nuestro código . Un marco es normalmente más complejo. Define un esqueleto donde la aplicación define sus propias características para completar el esqueleto. De esta manera, su código será llamado por el marco cuando sea apropiado. El beneficio es que los desarrolladores no necesitan preocuparse por si un diseño es bueno o no, sino simplemente por implementar funciones específicas de dominio.

Biblioteca, marco y representación de su código de imagen:

KeyDifference:

La diferencia clave entre una biblioteca y un marco es la "Inversión de control" . Cuando llamas a un método desde una biblioteca, tienes el control. Pero con un marco, el control se invierte: el marco te llama . Source.

Relación:

Ambos definieron la API, que se usa para que la usen los programadores. Para ponerlos juntos, podemos pensar en una biblioteca como una función determinada de una aplicación, un marco como el esqueleto de la aplicación y una API es el conector para unirlos. Un proceso de desarrollo típico normalmente comienza con un marco y completa las funciones definidas en las bibliotecas a través de la API.

Respuesta original

Escucho todo el día los términos biblioteca de clases, biblioteca de clases base, Framework, ...
¿Qué destaca un marco y qué biblioteca de clases base?


A menudo, utiliza bibliotecas para obtener cierta funcionalidad en su software / infraestructura PROPIA. Por ejemplo, al imprimir un código de barras, usaría una biblioteca para hacerlo. Un marco abstrae toda una clase de problemas, tal vez el problema de escribir aplicaciones web. Para hacerlo, el marco entrega el "marco" con todas las funcionalidades y apéndices con los que puede programar.


La característica distintiva entre una biblioteca de clases y un marco de software es que, en un marco, el flujo de control no está determinado por el código del usuario, sino por el marco.

Esto también se conoce como principio de Hollywood (no nos llame, le llamamos a usted).

Por cierto, también hay un buen artículo de Wikipedia sobre este tema.


Pienso en un marco como un patrón que una aplicación puede cumplir, definido en un conjunto de bibliotecas.

Una biblioteca de clases "base" puede significar varias cosas dependiendo del contexto; podría referirse a clases que están diseñadas para derivarse, lo cual es un enfoque común en marcos, o simplemente podría referirse a una biblioteca central de clases que se asume que son útiles en cualquier aplicación y por lo tanto se consideran una necesidad "básica" , casi parte del lenguaje (por ejemplo, clases contenedoras).


Un marco es una colección supuestamente cohesiva de una o más bibliotecas de clase. Los marcos Java y .NET, por ejemplo, se componen de cientos de bibliotecas de clases. En .NET existe, por costumbre, pero no necesariamente, una correspondencia entre ensamblajes y bibliotecas de clases. En Java hay una correspondencia aproximada entre los espacios de nombres y las bibliotecas de clases.

Aunque nunca he notado la frase "biblioteca de clases base ", esperaría que tal cosa contuviera clases abstractas que debían ser subclasificadas antes de su uso.

El marco en el sentido de mi primer párrafo implica integridad dentro del ámbito de la biblioteca. Por ejemplo, esperaría que un marco de manipulación de imágenes contenga todo lo que necesita para manipular imágenes, desde analizadores de formato de archivos hasta operaciones de gráficos en memoria.


Una biblioteca de clases generalmente es una DLL o un paquete de clases que puede "incluir" / "referencia" en su solución y reutilizar.

Un marco suele ser un patrón / solución recurrente orientado hacia un contexto específico, por ejemplo, un marco GUI. Un marco implica más que a menudo que usted escribe ciertas piezas según lo dictado por los diseñadores del marco, las coloca en los lugares esperados / correctos y debería funcionar.

  • Por ejemplo, la primavera es un marco para DI. Usted escribe archivos xml en un formato dictado por los diseñadores y luego el marco le permite obtener clases ensambladas sin tener que preocuparse de que el marco lo haga.
  • Rails es un framework en Ruby para aplicaciones web de RAD. Solo escribe los modelos, controladores y vistas y tiene una aplicación web que funciona en menos de una hora.
  • BCL es un conjunto de bibliotecas de clases para que no tenga que implementar estructuras de datos y tipos de uso frecuente en .NET y simplemente obtener las implementaciones probadas de forma gratuita con solo incluirlas.

Un framework usualmente contiene múltiples bibliotecas de clases. Como siempre, los términos se usan de manera ambigua hoy en día ... pero lo anterior representa la interpretación más común de los términos ... mío al menos :)


Una aplicación tiene muchas partes que coexisten en la sincronización, lo que proporciona una funcionalidad diferente ... ahora el código debe escribirse para que cada una de estas partes funcione y, por lo tanto, un Marco de aplicación hace ese código para que usted no tenga que pasar por la parte esencial escribir cada código relacionado con cada funcionalidad. Los marcos de aplicación facilitan la escritura de aplicaciones.

En términos más simples, si está haciendo un edificio, entonces su estructura de esqueleto, la forma, las funciones que puede soportar, el diseño eléctrico e hidráulico, los marcos, etc. son todos sus marcos y ahora debe trabajar en ese marco para hacer que su edificio sea tan preocupante. acerca de hacer una estructura a prueba de terremotos o hacer un edificio linealmente erguido ha sido manejado por su marco

Es así de simple. El marco toma todas las complejidades de la interfaz con el sistema operativo y las simplifica para usted. Maneja todos los detalles esenciales para ti. Obviamente, ciertos marcos hacen un mejor trabajo que otros.

Diferencia entre el marco de aplicación y las bibliotecas: utiliza una biblioteca de clase al escribir su código, pero el código dentro de un marco.


Una biblioteca de clases es simplemente un conjunto de clases encapsuladas en una unidad definible, como un conjunto. El término no está restringido a ningún idioma o marco en particular.

La Base Class Library (BCL) es un término específico de atributos para el conjunto de bibliotecas de clases que vienen preinstaladas con .NET Framework, que proporciona clases perfectamente organizadas en espacios de nombres para que tenga una API con la cual construir sus propias soluciones.

Un marco es un término más amplio que incluye las bibliotecas de clases, una máquina virtual que gestiona la ejecución controlada de procesos, proporciona un entorno de ejecución, junto con otros servicios como la gestión de memoria y el manejo de excepciones. Ver .NET Framework para más información.


Usas una biblioteca de clases al escribir tu código, pero codificas dentro de un marco.

El término "marco" pretende invocar un sentido de "estar dentro de un entorno". Si tuviera que poner una analogía (limitada), diría que una biblioteca de clase es como poder comer queso y beber vino, mientras que un marco es como visitar Francia; Experimentando la cultura. El marco es la estructura alrededor de la cual construyes tu programa. La biblioteca de clases son las herramientas que utiliza (posiblemente dentro de un marco).

Por supuesto, un marco normalmente contendrá bibliotecas de clases. .NET, por ejemplo, tiene montones de bibliotecas de clases que se incluyen en todo el marco.


Yo diría que los dos son bastante intercambiables ... - es simplemente un conjunto de códigos reutilizables comunes (en cualquier plataforma a la que te dirijas), generalmente suministrados por la plataforma.

Tal vez podría argumentar que el BCL generalmente representa los módulos "puros" (independientes del proveedor), mientras que el "marco" puede (según la forma en que use el término) incluir los módulos a medida del proveedor. Pero que tal vez esté abierto a la interpretación local.


llama al código de la biblioteca de clases donde, como marco, llama a su código