Componente , objeto y sistema son términos que tienen diferentes significados específicos en diferentes contextos.
Un sistema es un término genérico utilizado para describir un mecanismo / tecnología / diseño / … que funciona para cumplir un conjunto de funciones.
Un componente es un subsistema.
- ¿Cómo escribe Google los requisitos de software?
- ¿Qué compañía elegir entre Credit Suisse o Schlumberger como ingeniero de software?
- ¿Por qué los jóvenes de la India están más atraídos por la industria SEO que la industria del software en estos días?
- ¿Cómo ganan dinero los desarrolladores que trabajan en proyectos de código abierto?
- ¿Qué es una pérdida de memoria?
Un objeto es solo un objeto.
Un auto es un sistema. Este sistema tiene componentes como el motor, los asientos y el tablero de instrumentos. Un automóvil es un objeto y algunos de sus componentes también son objetos.
El motor del automóvil es un componente del automóvil y también un sistema en sí mismo. También es un objeto.
El tráfico es un sistema con componentes como carreteras, normas, letreros, automóviles, pasajeros, conductores, peatones, etc.
Cada programa / aplicación de software es un sistema y tiene diferentes componentes. Desde la perspectiva de un diseñador de UX, los componentes de un sistema de software pueden ser su navegación, diferentes secciones, formularios y pantallas. Desde la perspectiva de un arquitecto de software, este sistema tiene componentes principales como servicios frontend y varios servicios de backend. Desde la perspectiva de un desarrollador, este sistema tiene diferentes componentes como bibliotecas y clases.
El término objeto, en software, se usa para cualquier cosa en la memoria. Un int en C o una instancia de una gran clase en Java son ambos objetos. El enfoque orientado a objetos agrega algunas restricciones sobre cómo definir, inicializar y acceder a los objetos en un programa y estas adiciones naturalmente sobrecargan el significado del término objeto en consecuencia.
Hay diferentes significados específicos del término componente como puede ver en otras respuestas a esta pregunta. Para un desarrollador web, un componente web es una pieza de software que se puede agregar a un documento HTML sin causar conflictos con el documento de host / destino. Para otro marco / plataforma / sistema, un componente puede significar algo más.
En resumen, puede obtener cientos de respuestas diferentes para la pregunta “¿Qué es un componente?” si le preguntas a cincuenta desarrolladores diferentes. Más allá de todos estos significados sobrecargados en diferentes sistemas, un componente siempre es solo un subsistema .