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

#16 Alfredo Novoa
28/11/2006 - 02:29 | Informe spam
On 27 Nov 2006 15:29:54 -0800, "Roberto M. Oliva"
wrote:

De verdad piensas lo que escribes???



¿De verdad confías en la Wikipedia? 8-O

En la Wikipedia:
http://es.wikipedia.org/wiki/Patr%C...ise%C3%B1o



Si te fijas en la definición no nombra para nada a la OO, y además los
patrones de diseño no existen solo en la informática ni provienen de
la informática:

http://en.wikipedia.org/wiki/Design_pattern_(architecture)

La Wikipedia en Inglés suele estar mucho más completa.

Todos los patrones se basan en diseños OO.



¡Ni de broma! Hay muchísimos más además de los de esa página. Un
patrón no es más que una buena solución general a un problema común
del tipo que sea (esto es más viejo que el hambre), y eso sirve para
cualquier campo de diseño: mecánica, arquitectura, urbanismo,
informática, etc.

En un Sistema de Información el modelo sería el modelo de la base de
datos, la vista las aplicaciones de presentación y el controlador el
SGBD.



Tu estas hablando de un sistema cliente-servidor de n-capas (bueno, 3
en tu caso).



No tienen por que ser 3, yo suelo preferir 2 capas físicas. Las capas
lógicas son siempre 2: cliente (aplicaciones) y servidor (SGBD) por
eso se llaman sistemas cliente-servidor.

Te estas quedando en la arquitectura del sistema. Yo hablo
de la arquitectura del software.



Yo hablo de la arquitectura del sistema y tu hablas de técnicas de
programación que solo sirven para una parte del sistema. Si intentas
aplicarlas a todo el sistema el resultado será desastroso. Hay que
saber ver más allá del estrecho mundo de la OO.

Has probado a desarrollar utilizando un modelo MVC pasivo
(http://www.martinfowler.com/eaaDev/...creen.html) o con
Supervising Controller
(http://www.martinfowler.com/eaaDev/...enter.html)...



Fowler solo escribe cosas trivialmente ciertas o totalmente
equivocadas. No suelo perder el tiempo leyéndole.

utilizas testeos (TDD: http://www.agiledata.org/essays/tdd.html) en el
software?



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.

Fíjate la burrada que he visto echandole un vistazo rápido al artículo
del enlace que has puesto:

Like it or not most programmers don’t read the written documentation
for a system, instead they prefer to work with the code. And there’s
nothing wrong with this.

Menuda perla X-D

Pruebas se han hecho toda la vida. Tampoco tienen nada que ver con la
OO. El TDD lo encuentro bastante estúpido. Con este tipo de recetas
para no pensar se suele perder un montón de tiempo.

Yo suelo preferir hacer pruebas de bastante alto nivel y creo que es
mucho mejor usar el sentido común para crear una estrategia de tests
adaptada a cada caso particular que seguir recetas simplonas al pie de
la letra sin usar el sentido común.


Entre otras muchas cosas. Pero en un Sistema de Información puede
haber muchas aplicaciones.



No se que tiene que ver con el polimorfismo.



Tiene que ver con lo que decías de EL programa.

Yo hablo de lo siguiente:
http://www.martinfowler.com/article...ction.html



No se como puedes prestar atención a esta basura.

Date una vuelta por:
http://www.hibernate.org/
http://www.castleproject.org/
incluso por la pagina de Ruby on Rails (http://www.rubyonrails.org/) te
recuerdo que Rails utiliza ActiveRecord...



Una buena razón para no mirarlo. El ActiveRecord es uno de los mejores
ejemplos que se me ocurren de falso patrón.

<modo_ironico>Si, todas estas paginas se las ve muy paradas. Hay muy
pocos programadores utilizando esto y se ve que se va a
abandonar</modo_ironico>



En la informática los incompetentes siempre han sido amplia mayoría, y
parece que cada vez más.


Saludos
Respuesta Responder a este mensaje
#17 Roberto M. Oliva
28/11/2006 - 11:09 | Informe spam
Alfredo... se ve que tu eres el informatico mas competente del mundo.
Tus aseveraciones te delatan... en fin! Que te diviertas!

Saludos
Roberto M. Oliva


Alfredo Novoa ha escrito:

On 27 Nov 2006 15:29:54 -0800, "Roberto M. Oliva"
wrote:

>De verdad piensas lo que escribes???

¿De verdad confías en la Wikipedia? 8-O

>En la Wikipedia:
>http://es.wikipedia.org/wiki/Patr%C...ise%C3%B1o

Si te fijas en la definición no nombra para nada a la OO, y además los
patrones de diseño no existen solo en la informática ni provienen de
la informática:

http://en.wikipedia.org/wiki/Design_pattern_(architecture)

La Wikipedia en Inglés suele estar mucho más completa.

>Todos los patrones se basan en diseños OO.

¡Ni de broma! Hay muchísimos más además de los de esa página. Un
patrón no es más que una buena solución general a un problema común
del tipo que sea (esto es más viejo que el hambre), y eso sirve para
cualquier campo de diseño: mecánica, arquitectura, urbanismo,
informática, etc.

>> En un Sistema de Información el modelo sería el modelo de la base de
>> datos, la vista las aplicaciones de presentación y el controlador el
>> SGBD.
>
>Tu estas hablando de un sistema cliente-servidor de n-capas (bueno, 3
>en tu caso).

No tienen por que ser 3, yo suelo preferir 2 capas físicas. Las capas
lógicas son siempre 2: cliente (aplicaciones) y servidor (SGBD) por
eso se llaman sistemas cliente-servidor.

> Te estas quedando en la arquitectura del sistema. Yo hablo
>de la arquitectura del software.

Yo hablo de la arquitectura del sistema y tu hablas de técnicas de
programación que solo sirven para una parte del sistema. Si intentas
aplicarlas a todo el sistema el resultado será desastroso. Hay que
saber ver más allá del estrecho mundo de la OO.

>Has probado a desarrollar utilizando un modelo MVC pasivo
>(http://www.martinfowler.com/eaaDev/...creen.html) o con
>Supervising Controller
>(http://www.martinfowler.com/eaaDev/...enter.html)...

Fowler solo escribe cosas trivialmente ciertas o totalmente
equivocadas. No suelo perder el tiempo leyéndole.

>utilizas testeos (TDD: http://www.agiledata.org/essays/tdd.html) en el
>software?

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.

Fíjate la burrada que he visto echandole un vistazo rápido al artículo
del enlace que has puesto:

Like it or not most programmers don't read the written documentation
for a system, instead they prefer to work with the code. And there's
nothing wrong with this.

Menuda perla X-D

Pruebas se han hecho toda la vida. Tampoco tienen nada que ver con la
OO. El TDD lo encuentro bastante estúpido. Con este tipo de recetas
para no pensar se suele perder un montón de tiempo.

Yo suelo preferir hacer pruebas de bastante alto nivel y creo que es
mucho mejor usar el sentido común para crear una estrategia de tests
adaptada a cada caso particular que seguir recetas simplonas al pie de
la letra sin usar el sentido común.

>
>> Entre otras muchas cosas. Pero en un Sistema de Información puede
>> haber muchas aplicaciones.
>
>No se que tiene que ver con el polimorfismo.

Tiene que ver con lo que decías de EL programa.

> Yo hablo de lo siguiente:
>http://www.martinfowler.com/article...ction.html

No se como puedes prestar atención a esta basura.

>Date una vuelta por:
>http://www.hibernate.org/
>http://www.castleproject.org/
>incluso por la pagina de Ruby on Rails (http://www.rubyonrails.org/) te
>recuerdo que Rails utiliza ActiveRecord...

Una buena razón para no mirarlo. El ActiveRecord es uno de los mejores
ejemplos que se me ocurren de falso patrón.

><modo_ironico>Si, todas estas paginas se las ve muy paradas. Hay muy
>pocos programadores utilizando esto y se ve que se va a
>abandonar</modo_ironico>

En la informática los incompetentes siempre han sido amplia mayoría, y
parece que cada vez más.


Saludos
Respuesta Responder a este mensaje
#18 forums.microsoft.com
03/12/2006 - 20:36 | Informe spam
One of the questions was how we should put OO stuff into SQL. His
answer was that Bells Labs, with all their talent, had tried four
different approaches to this problem and come the conclusion that you
should not do it. OO was great for programming but deadly for data.



Pero so bruto, eso se refiere a utilizar objetos para almacenar y
gestionar datos, no para realizar aplicaciones que trabajan con datos.
Mira que eres cerrado de mollera. Pero más y más la única conclusión
que tengo sobre ti es que no tienes conocimientos más allá del libro de
Date y te da miedo, por eso rechazas todo (bueno tu y tu doble, el tal
Carlitos ese que sale a tu rescate cada vez)
Respuesta Responder a este mensaje
#19 Alfredo Novoa
03/12/2006 - 23:45 | Informe spam
On Sun, 03 Dec 2006 11:36:21 -0800, "forums.microsoft.com"
wrote:


One of the questions was how we should put OO stuff into SQL. His
answer was that Bells Labs, with all their talent, had tried four
different approaches to this problem and come the conclusion that you
should not do it. OO was great for programming but deadly for data.



Pero so bruto, eso se refiere a utilizar objetos para almacenar y
gestionar datos, no para realizar aplicaciones que trabajan con datos.



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

Encargarse de la presentación y la comunicación. Lo que digo siempre.

Para eso si que puede estar bien la OO.

Lo que quería hacer Javito era usar la OO para gestionar datos, y eso
es lo que es mortífero. La dichosa capa de negocio.

Las demás tonterías no las comento.


Saludos
Respuesta Responder a este mensaje
#20 forums.microsoft.com
04/12/2006 - 00:20 | Informe spam
¿Y que les queda a las aplicaciones para hacer si no gestionan datos?




Es que no lo ves. 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. 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,
claro que funciona, pero hace de la aplicación algo incomprensible y
dificil de mantener. Puedes repetir la misma lógica en muchos puntos,
puedes confundir lo que es la lógica de la presentación de la lógica de
tratamiento 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. 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.

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á.

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. Eso es lo que no eres capaz de ver y empiezas a confundir a
la gente llamandoles tontos y cambinado su mensajes para hacer a otros
ver que ellos se están confundiendo. No señor. Te queda ya poco por
hacer querido Alfredo, hay mucha gente ya por estos mundos que conoce
de que vas. Ese afán por insultar a las personas y llamarles tontos
solo por no compartir tu punto de vista, sin por un momento echarte
atrás y pensar un poco.

Pero a la vez me divierte. Leer tus posts y como defiendes a rajatabla
una cosa que de verdad incluso no comprendes del todo, hace que a veces
leer este grupo sea más divertido. Es asi, querido Alfredo, no
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 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, ya sean unos que no comparten la misma opinión
que Fabian, o bien realmente son novatos, que han hecho preguntas y la
web los pone a parir. Eso es tu "fundamento" sobre tus "pensamientos".
Respaldas tus conocimientos con muestras de insultos a otras personas,
tal como lo haces en tus mensajes.

Lamentablemente los entornos RAD han llevado a muchos por caminos
equivocados, por hacer código entremezclado, por mezclar lógica con
presentación. Eso es lo que ha conseguido que luego hagas afirmaciones
como "asigna el evento para llamar al procedimiento de cálculo".
Algunos hemos podido *ver* esto y salir de ese camino que no lleva a
ninguna parte.

Gracias querido amigo, por hacerme pasar otro rato agradable! (por
cierto, donde esta tu amigo CCRC o Carlito o como se llame..el
"chakal"?)
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida