Entender las aplicaciones orientadas a Objetos

25/11/2006 - 20:21 por Javito | Informe spam
Hola a todos, después de varios meses estudiando la programación
orientada a objetos y sé programarla y entiendo todos los conceptos que
implican los objetos como herencia, encapsulación etc. pero hay varios
conceptos globales que no entiendo y que me encantaría que si alguien conoce
me orientara un poco.

Mis dudas son:
1) En una aplicación orientada a objetos ¿ El Servidor carga todos los
objetos que necesita la aplicación cuando se inicia la misma ?
2) ¿ Quiere esto decir que en estas aplicaciones no se accede a la Base de
Datos para realizar las operaciones, sino que se realizan sobre los objetos
en memoria ?
3) Si hay varios usuarios trabajando en la aplicación y cada uno carga sus
propios objetos desde datos de la Base de datos, si tu has hecho algo en un
objeto en memoria, el que se incorpora a la aplicación al cargar los datos
desde Base de datos no va a tener tus cambios y habría inconsistencia de
datos ¿ como se evita esto ?

Un saludo a todos y a ver si me podeis echar un cable.

Preguntas similare

Leer las respuestas

#21 Alfredo Novoa
04/12/2006 - 19:38 | Informe spam
On Sun, 03 Dec 2006 15:20:11 -0800, "forums.microsoft.com"
wrote:


¿Y que les queda a las aplicaciones para hacer si no gestionan datos?




Es que no lo ves.



Si lo veo. He respondido a mi propia pregunta en la siguiente línea.

¿Es que no lo has visto?

Estas obsesionado con tu SGBD y no ves más alla de tu
propio ego. El problema radica en que no tienes ni idea de lo que
conlleva el mantenimiento de un sistema complejo.



Desgraciadamente tengo mucha experiencia en el mantenimiento de
sistemas en los que el SGBD no se encarga de gestionar los datos. Por
eso es un tema sensible para mi.

Ahora mismo estoy manteniendo un sistema de más de 400.000 líneas que
se podrían reducir a una pequeña fracción moviendo toda la gestión de
los datos al SGBD, y eso es lo que está haciendo un compañero que está
de acuerdo conmigo en que así es todo mucho más fácil.

Lo que tu dices de
utilizar el formulario y los eventos para llamar a procedimientos que a
su vez pueden ser sentencias SQL o procedimientos guardados, funciona,



Se trata de sacar la gestión de los datos fuera de las aplicaciones y
de automatizar en todo lo posible la implementación de la lógica de
presentación. Es reducir al mínimo la cantidad de código de
aplicación, eventos incluidos.

Esta forma de trabajar en las aplicaciones se basa más en asignar
propiedades de los componentes que en usar eventos y llamadas a
métodos. De esta forma se usan menos eventos y llamadas a métodos que
con los ORM.

claro que funciona, pero hace de la aplicación algo incomprensible y
dificil de mantener.



Si sacamos la lógica de gestión de datos de las aplicaciones
evidentemente estas se harán más sencillas y por lo tanto más fáciles
de mantener.

Además, gracias al mucho mayor nivel de abstracción de los lenguajes
declarativos, cuando quitamos cientos de líneas de la aplicación solo
tenemos que añadir unas pocas líneas en el SGBD para obtener la misma
o superior funcionalidad.

Puedes repetir la misma lógica en muchos puntos,



La lógica de gestión de datos se centraliza en el SGBD y solo está
allí.

puedes confundir lo que es la lógica de la presentación de la lógica de
tratamiento de datos



Pero hombre, piensa un poco. Si sacamos la lógica de tratamiento de
datos fuera de las aplicaciones como va a ser más fácil confundirla
con la de presentación. Es justo al revés. Así hay una separación
mucho más drástica entre lógica de presentación y lógica de
tratamiento de datos. Cosa que es muy necesaria. Además los SGBD nos
proporcionan otros típos de separación como la separación entre el
modelo físico y el modelo lógico de datos.

, y no por decir que harías cuando mañana tienes
que hacer lo mismo pero utilizando un interfaz web. Repetir el mismo
código, eso es lo que harías.



Como toda la lógica de tratamiento de datos está fuera de las
aplicaciones no habría que repetir nada en ese aspecto.

Y si dentro de una semana encuentras un
fallo en el cálculo de una operación en particular, pues a cambiarlo en
mil sitios.



Todas los calculos estarían implementados en el SGBD y en un solo
sitio.

Pero lo peor de todo es cuando re-visitas esa misma aplicación dentro
de 1 año y no sabes ni donde empezar a buscar ese problema. A saber si
esta en un evento o en un procedimiento guardado o donde estará.



La inmensa mayoría de la lógica de tratamiento de datos estaría
implementada con código declarativo que todo el mundo sabe que es
muchísimo más fácil de comprender y de mantener que el código
procedimental.

Las aplicaciones al estar adelgazadas también se volverían más fáciles
de mantener.

Eso es lo que no eres capaz de ver. Te crees que todo lo debe hacer el
SGBD porque te crees que aqui todos somos tontos y creemos que un SGBD
es solo para almacenar datos. No, no lo es. Hace más cosas, pero hay un
punto donde la abstracción, donde es desacomplamiento de sistemas que a
su vez funcionan de manera conjunta en armonia proporciona grandes
beneficios.



¿Acaso no es superior la abstracción de los lenguajes declarativos y
no es desacoplamiento el sacar la lógica de tratamiento de datos fuera
de las aplicaciones?

Eso es lo que no eres capaz de ver y empiezas a confundir a
la gente llamandoles tontos



Me parece que en este hilo el único que ha insultado eres tú.

entiendes ni algunas de las cosas que promueves. Muchos de tus
argumentos se basan en enlaces que están en inglés, como si de alguna
manera conocer el inglés te hace más experto en materia de diseño de
aplicaciones.



El inglés es el idioma de la informática. Me parece impensable
dedicarse a esto sin por lo menos poder comprenderlo. El primer
lenguaje que tiene que aprender un programador es el inglés.

Hay muchísima más información sobre estos temas en inglés que en
español y normalmente de mayor calidad. Si quieres profundizar un poco
en el tema es imprescindible leer en inglés. Incluso los autores
españoles usan únicamente el inglés cuando escriben sobre temas
avanzados de bases de datos.

Además es una herramienta imprescindible para poder relacionarte y
compartir conocimientos con informáticos de otros paises y de paises
que están mucho más avanzados en la informática que los nuestros.

El famoso enlace a Fabian Pascal, puede ser tu héroe,
pero si alguien pierde el tiempo en leerlo, el 90% de la web es sobre
mensajes dep ersonas,



Me parece que no te has fijado mucho.

http://www.dbdebunk.com/content2006.html
http://www.dbdebunk.com/content2005.html
http://www.dbdebunk.com/content2004.html
http://www.dbdebunk.com/content2003.html
http://www.dbdebunk.com/content2002.html
http://www.dbdebunk.com/content2001.html

Respaldas tus conocimientos con muestras de insultos a otras personas,
tal como lo haces en tus mensajes.



Pues ya me dirás donde están los insultos por que me lo he leido todo
y como mucho he encontrado un insulto en el título de este artículo:

http://www.dbdebunk.com/page/page/3278332.htm

Gracias querido amigo, por hacerme pasar otro rato agradable! (por
cierto, donde esta tu amigo CCRC o Carlito o como se llame..el
"chakal"?)



No tengo el gusto de conocerle, pero me parece que es una persona que
intenta educarse y conocer los fundamentos de su profesión.


Saludos
Respuesta Responder a este mensaje
#22 Juan Diego Bueno Prieto
05/12/2006 - 10:10 | Informe spam
untiosinnombre: Se puede o no estar de acuerdo con el polémico punto de
vista de Alfredo, pero recurrir al insulto hace que tus argumentos pierdan
toda credibilidad.

Alfredo es muy categórico en sus afirmaciones, las cuales pueden denotar un
punto de soberbia o de prepotencia, pero simplemente defiende su punto de
vista y yo todavía no he visto ningún insulto por su parte a nadie. En todo
caso el problema es de quien se ofende cuando otra persona propone un punto
de vista diferente al de otra gente que está en este grupo.

tiosinnombre, si estás seguro de que tu forma de ver las cosas es la
correcta, simplemente no tienes más que seguir utilizandola, pero si te
dedicas a defenderla tomándotelo casi como algo personal... lo único que
aparentas es inseguridad en tus planteamientos, con lo cual, das más la
razón a Alfredo en los suyos.

He de reconocer que me encantan estas discusiones en las que Novoa se ve
envuelto, primero porque me divierten, y segundo porque SIEMPRE se aprende
algo, tanto de él como del resto de personas que le rebaten.

Y por favor, deja de ver amiguitos, "chacales", etc... en fin, términos
impropios de quien quiere defender un criterio de forma creible

Pero bueno, allá cada cual, que ya somos todos mayorcitos

Saluti



"Alfredo Novoa" escribió en el mensaje
news:
On Sun, 03 Dec 2006 15:20:11 -0800, "forums.microsoft.com"
wrote:


¿Y que les queda a las aplicaciones para hacer si no gestionan datos?




Es que no lo ves.



Si lo veo. He respondido a mi propia pregunta en la siguiente línea.

¿Es que no lo has visto?

Estas obsesionado con tu SGBD y no ves más alla de tu
propio ego. El problema radica en que no tienes ni idea de lo que
conlleva el mantenimiento de un sistema complejo.



Desgraciadamente tengo mucha experiencia en el mantenimiento de
sistemas en los que el SGBD no se encarga de gestionar los datos. Por
eso es un tema sensible para mi.

Ahora mismo estoy manteniendo un sistema de más de 400.000 líneas que
se podrían reducir a una pequeña fracción moviendo toda la gestión de
los datos al SGBD, y eso es lo que está haciendo un compañero que está
de acuerdo conmigo en que así es todo mucho más fácil.

Lo que tu dices de
utilizar el formulario y los eventos para llamar a procedimientos que a
su vez pueden ser sentencias SQL o procedimientos guardados, funciona,



Se trata de sacar la gestión de los datos fuera de las aplicaciones y
de automatizar en todo lo posible la implementación de la lógica de
presentación. Es reducir al mínimo la cantidad de código de
aplicación, eventos incluidos.

Esta forma de trabajar en las aplicaciones se basa más en asignar
propiedades de los componentes que en usar eventos y llamadas a
métodos. De esta forma se usan menos eventos y llamadas a métodos que
con los ORM.

claro que funciona, pero hace de la aplicación algo incomprensible y
dificil de mantener.



Si sacamos la lógica de gestión de datos de las aplicaciones
evidentemente estas se harán más sencillas y por lo tanto más fáciles
de mantener.

Además, gracias al mucho mayor nivel de abstracción de los lenguajes
declarativos, cuando quitamos cientos de líneas de la aplicación solo
tenemos que añadir unas pocas líneas en el SGBD para obtener la misma
o superior funcionalidad.

Puedes repetir la misma lógica en muchos puntos,



La lógica de gestión de datos se centraliza en el SGBD y solo está
allí.

puedes confundir lo que es la lógica de la presentación de la lógica de
tratamiento de datos



Pero hombre, piensa un poco. Si sacamos la lógica de tratamiento de
datos fuera de las aplicaciones como va a ser más fácil confundirla
con la de presentación. Es justo al revés. Así hay una separación
mucho más drástica entre lógica de presentación y lógica de
tratamiento de datos. Cosa que es muy necesaria. Además los SGBD nos
proporcionan otros típos de separación como la separación entre el
modelo físico y el modelo lógico de datos.

, y no por decir que harías cuando mañana tienes
que hacer lo mismo pero utilizando un interfaz web. Repetir el mismo
código, eso es lo que harías.



Como toda la lógica de tratamiento de datos está fuera de las
aplicaciones no habría que repetir nada en ese aspecto.

Y si dentro de una semana encuentras un
fallo en el cálculo de una operación en particular, pues a cambiarlo en
mil sitios.



Todas los calculos estarían implementados en el SGBD y en un solo
sitio.

Pero lo peor de todo es cuando re-visitas esa misma aplicación dentro
de 1 año y no sabes ni donde empezar a buscar ese problema. A saber si
esta en un evento o en un procedimiento guardado o donde estará.



La inmensa mayoría de la lógica de tratamiento de datos estaría
implementada con código declarativo que todo el mundo sabe que es
muchísimo más fácil de comprender y de mantener que el código
procedimental.

Las aplicaciones al estar adelgazadas también se volverían más fáciles
de mantener.

Eso es lo que no eres capaz de ver. Te crees que todo lo debe hacer el
SGBD porque te crees que aqui todos somos tontos y creemos que un SGBD
es solo para almacenar datos. No, no lo es. Hace más cosas, pero hay un
punto donde la abstracción, donde es desacomplamiento de sistemas que a
su vez funcionan de manera conjunta en armonia proporciona grandes
beneficios.



¿Acaso no es superior la abstracción de los lenguajes declarativos y
no es desacoplamiento el sacar la lógica de tratamiento de datos fuera
de las aplicaciones?

Eso es lo que no eres capaz de ver y empiezas a confundir a
la gente llamandoles tontos



Me parece que en este hilo el único que ha insultado eres tú.

entiendes ni algunas de las cosas que promueves. Muchos de tus
argumentos se basan en enlaces que están en inglés, como si de alguna
manera conocer el inglés te hace más experto en materia de diseño de
aplicaciones.



El inglés es el idioma de la informática. Me parece impensable
dedicarse a esto sin por lo menos poder comprenderlo. El primer
lenguaje que tiene que aprender un programador es el inglés.

Hay muchísima más información sobre estos temas en inglés que en
español y normalmente de mayor calidad. Si quieres profundizar un poco
en el tema es imprescindible leer en inglés. Incluso los autores
españoles usan únicamente el inglés cuando escriben sobre temas
avanzados de bases de datos.

Además es una herramienta imprescindible para poder relacionarte y
compartir conocimientos con informáticos de otros paises y de paises
que están mucho más avanzados en la informática que los nuestros.

El famoso enlace a Fabian Pascal, puede ser tu héroe,
pero si alguien pierde el tiempo en leerlo, el 90% de la web es sobre
mensajes dep ersonas,



Me parece que no te has fijado mucho.

http://www.dbdebunk.com/content2006.html
http://www.dbdebunk.com/content2005.html
http://www.dbdebunk.com/content2004.html
http://www.dbdebunk.com/content2003.html
http://www.dbdebunk.com/content2002.html
http://www.dbdebunk.com/content2001.html

Respaldas tus conocimientos con muestras de insultos a otras personas,
tal como lo haces en tus mensajes.



Pues ya me dirás donde están los insultos por que me lo he leido todo
y como mucho he encontrado un insulto en el título de este artículo:

http://www.dbdebunk.com/page/page/3278332.htm

Gracias querido amigo, por hacerme pasar otro rato agradable! (por
cierto, donde esta tu amigo CCRC o Carlito o como se llame..el
"chakal"?)



No tengo el gusto de conocerle, pero me parece que es una persona que
intenta educarse y conocer los fundamentos de su profesión.


Saludos

Respuesta Responder a este mensaje
#23 Roberto M. Oliva
05/12/2006 - 11:39 | Informe spam
Juan Diego Bueno Prieto ha escrito:

untiosinnombre: Se puede o no estar de acuerdo con el polémico punto de
vista de Alfredo, pero recurrir al insulto hace que tus argumentos pierdan
toda credibilidad.

Alfredo es muy categórico en sus afirmaciones, las cuales pueden denotar un
punto de soberbia o de prepotencia, pero simplemente defiende su punto de
vista y yo todavía no he visto ningún insulto por su parte a nadie. >



A ti lo siguiente no te parece un insulto lo siguiente?? :

"A Ambler solo le leo cuando quiero reirme. Es uno de los mayores
fraudes intelectuales que he visto en mi vida. Sus libros y artículos
son demenciales. "

"No se como puedes prestar atención a esta basura." (Hablando de
Martin Fowler)

Ya digo... el propio Alfredo Novoa se delata el mismo con sus
aseveraciones.
Y si de verdad cree que hace mejores programas con su metodos... pues
mejor para el.
El resto del mundo incompetente seguira equivocado siguiendo una serie
de metodologias que para el son inutiles, equivocadas y erroneas.

Un saludo
Roberto M. Oliva
Respuesta Responder a este mensaje
#24 Juan Diego Bueno Prieto
05/12/2006 - 12:39 | Informe spam
Bien, yo doy mi opinión, y que se defienda el mismo, si es que tiene
necesidad:


A ti lo siguiente no te parece un insulto lo siguiente?? :

"A Ambler solo le leo cuando quiero reirme. Es uno de los mayores
fraudes intelectuales que he visto en mi vida. Sus libros y artículos
son demenciales. "



No me parece un insulto, solo una opinión muy radical

"No se como puedes prestar atención a esta basura." (Hablando de
Martin Fowler)



Aquí nadie mejor que él para saberlo, pero me da que basura en todo caso es
lo que el escribe, no la persona en si, y eso no es un insulto, es
simplemente una desacreditación hacia lo que escribe (yo puedo decir
idioteces en algún momento, lo cual no necesariamente me convierte en un
idiota)

Ya digo... el propio Alfredo Novoa se delata el mismo con sus
aseveraciones.
Y si de verdad cree que hace mejores programas con su metodos... pues
mejor para el.



Pues precisamente por eso... por que montais un pollo cada vez que expone
sus métodos?. Entiendo que fastidia leer que tus métodos son basura, y otras
lindezas, pero si te parecen faltas de respeto hacia tu persona por ello,
coño!!! ignóralas!!!. A mi si cuestionan mis métodos y yo se que son los
correctos, me entra por un oído y me sale por otro, y ni me molestaría en
contestar. Además lo gracioso es que muchas veces se contestan esos
"insultos" con otros parecidos. Así desde luego, no se defiende un argumento

El resto del mundo incompetente seguira equivocado siguiendo una serie
de metodologias que para el son inutiles, equivocadas y erroneas.



Yo no tengo problema, no es mi jefe, ni es mi conciencia. Solo una persona
más con opinión propia

Saludos
Respuesta Responder a este mensaje
#25 Alfredo Novoa
05/12/2006 - 13:06 | Informe spam
On 5 Dec 2006 02:39:27 -0800, "Roberto M. Oliva"
wrote:

A ti lo siguiente no te parece un insulto lo siguiente?? :

"A Ambler solo le leo cuando quiero reirme. Es uno de los mayores
fraudes intelectuales que he visto en mi vida. Sus libros y artículos
son demenciales. "



Evidentemente eso no son insultos hacia Scott Ambler. Con algunos de
aquí no se puede presuponer que entiendan ni lo más básico.

"No se como puedes prestar atención a esta basura." (Hablando de
Martin Fowler)



Hablando de Martin Fowler no. No distorsiones las cosas, estaba
hablando de sus publicaciones. Los trabajos de Fowler y sobre todo
Ambler son de lo peorcito que te puedas encontrar en la OO y la
informática en general. En lo único que son buenos es en hacer creer a
otros que son expertos en informática. Gente como esa es la que le da
mala fama al sector. Como dijo Carlos, la informática es el hazmerreir
de las ingenierías.

Podrías emplear mejor tu tiempo leyendo a gente seria como Dijkstra,
Knuth, Date, Brooks, etc.

El resto del mundo incompetente seguira equivocado siguiendo una serie
de metodologias que para el son inutiles, equivocadas y erroneas.



Solo una parte de los programadores. Conozco a bastantes que saben
hacer las cosas bien, y suelen ser los de mayor experiencia. Todas
estas modas de los objetos de negocio no han tenido mucho impacto en
los programadores, analistas y jefes de proyecto de más de 35 años.


Saludos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida