Busqué en Google y me informaron que una biblioteca está compuesta por varias clases relevantes. Pero en Codeigniter, descubrí que prácticamente solo hay una clase en cada biblioteca. Perdón por mi conocimiento limitado para esto, pero te agradecería si pudieras aclararme un poco sobre esto. ¡Muchas gracias!¿cuál es la diferencia entre una clase y una biblioteca?
Respuesta
La diferencia es semántica.
Un Clase es una implementación de una parte específica de la funcionalidad (por lo general encapsular completamente la funcionalidad.
Un Biblioteca es una colección de unidades de funcionalidad (o sólo uno) que añaden funcionalidad. Aviso I trataron de mantenerse alejado de la palabra clase en esa definición. las bibliotecas se pueden procedimental, funcional o programación orientada a objetos. eso no quita el hecho de que se trata de una biblioteca. las clases sólo ayuda a la abstracción cuando se trata de programación orientada a objetos.
A Framework es una biblioteca que imparte opciones de arquitectura sobre cómo se escribe el código.
Cada marco es, por lo tanto, una biblioteca. No todas las bibliotecas son un marco. CodeIgniter en sí mismo se puede utilizar como un marco o una biblioteca. La diferencia es que si permite que las bibliotecas dirijan su arquitectura, está utilizando un marco. Si no usa el bit de arquitectura, es una biblioteca.
Definitivamente es una diferencia pedante, pero significativa. Como una gran simplificación, si está haciendo una arquitectura formal y entiende por qué todo está organizado de forma específica para su aplicación, lo está utilizando como una biblioteca.Si en cambio lo estás construyendo de esa manera porque así es como CI lo hace, eso es usar un marco. Ambos tienen beneficios importantes, pero vale la pena entender la diferencia.
En términos generales de programación, no todas las bibliotecas tienen que estar hechas de múltiples clases. De hecho, no todas las bibliotecas deben estar compuestas por clases, realmente depende de la implementación (y algunas veces del lenguaje). Como Wikipedia comienza (la cursiva es mía):
En informática, una biblioteca es una colección de recursos utilizados para desarrollar software. Esto puede incluir subrutinas, clases, valores o especificaciones de tipo.
CodeIgniter tiene su propia definición de "biblioteca", en este caso, simplemente llama a cada clase de aplicaciones de terceros con su propia biblioteca. A pesar de eso, puede incluir otras clases en el mismo archivo de biblioteca, siempre que tenga al menos una clase con el mismo nombre que el archivo de la biblioteca.
Comprobación the CodeIgniter docs:
Cuando usamos el término "Bibliotecas" nos referimos normalmente a las clases que se encuentran en el directorio de bibliotecas y describe en la referencia de clase de esta guía del usuario. Sin embargo, en este caso, describiremos cómo puede crear sus propias bibliotecas dentro del directorio de aplicaciones/bibliotecas para mantener la separación entre sus recursos locales y los recursos del marco global.
No creo que una "biblioteca" sea específica para un número fijo de clases o archivos. ¿Esta cita se refiere al uso específico que te ha confundido?
- 1. ¿Cuál es la diferencia entre importar y extender una clase?
- 2. ¿cuál es la diferencia entre el complemento y la biblioteca?
- 3. ¿Cuál es la diferencia entre una clase estática y una clase normal?
- 4. ¿Cuál es la diferencia entre una clase concreta y una clase abstracta?
- 5. ¿Cuál es la diferencia entre una sesión y una cookie?
- 6. ¿Cuál es la diferencia entre una subrutina y una función?
- 7. ¿Cuál es la diferencia entre una vista y una secuencia?
- 8. ¿Cuál es la diferencia entre una aplicación de servicio WCF y una biblioteca de servicios WCF?
- 9. ¿Cuál es la diferencia entre Test t; y Prueba t() ;? Si la prueba es una clase
- 10. ¿Cuál es la diferencia entre una clase abstracta y una estática?
- 11. ¿Cuál es la diferencia entre una interfaz y una clase abstracta?
- 12. ¿Cuál es la diferencia entre una referencia __weak y __block?
- 13. ¿Cuál es la diferencia entre un hilo y una fibra?
- 14. ¿Cuál es la diferencia entre un algoritmo y una función?
- 15. ¿Cuál es la diferencia entre una matriz y un objeto?
- 16. ¿Cuál es la diferencia entre una mónada y un cierre?
- 17. ¿Cuál es la diferencia entre una instancia y un objeto?
- 18. ¿Cuál es la diferencia entre un tema y una plantilla?
- 19. ¿Cuál es la diferencia entre declarar y definir una estructura?
- 20. ¿Cuál es la diferencia entre pánico y una afirmación?
- 21. ¿Cuál es la diferencia entre un RoutedCommand y una RoutedUICommand?
- 22. ¿Cuál es la diferencia entre un método y una función?
- 23. ¿Cuál es la diferencia entre JTA y una transacción local?
- 24. ¿Cuál es la diferencia entre una heurística y un algoritmo?
- 25. ¿Cuál es la diferencia entre() y [] en una expresión regular?
- 26. ¿Cuál es la diferencia entre una Hashtable y Properties?
- 27. ¿Cuál es la diferencia entre un diccionario y una matriz?
- 28. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 29. ¿Cuál es la diferencia entre una Biblioteca de control de usuario y una Biblioteca de control personalizado?
- 30. ¿Todavía hay una diferencia entre una biblioteca y una API?
i biblioteca, puede no tener nada que ver con las clases, podría ser simplemente una colección de funciones de procedimiento. una clase tiene una definición bien definida, una biblioteca, al menos en php no lo hace. –