¿Cuál fue (o debería ser) el razonamiento detrás de la creación de TDataSource como intermediario entre los componentes vinculados a datos y los TDataSets subyacentes reales, en lugar de tener los componentes solo para conectarse directamente con los TDataSets mismos?¿Por qué se creó TDataSource originalmente?
Esto puede parecer una pregunta estúpida, pero estoy trabajando en un amplio conjunto de componentes de "visor de datos", que se vinculan a un componente común de "conector de datos", etc .; y al diseñar este conjunto de componentes, me encuentro haciendo referencia a la estructura de la configuración clásica Delphi "TDataSet -> TDataSource -> Data-bound-component" para obtener orientación. En mi conjunto de componentes, sin embargo, sigo queriendo esencialmente fusionar la funcionalidad de los equivalentes "TDataSource" y "TDataSet" en una sola clase. Me hizo preguntarme cuál era el razonamiento detrás de separarlos en primer lugar.
En las primeras versiones, era casi imposible adjuntar componentes a diferentes bases de datos. Necesitabas tener una versión de cada componente para la diferente base de datos que querías usar, y eso significaba que una nueva base de datos tenía dificultades para ingresar. Al separar el enlace de la fuente, puedes cambiar fácilmente. La base de datos también puede ser también una fuente programada en tiempo de ejecución. – mj2008