Cooperator framework

19/06/2006 - 18:25 por Daniel A. Calvin | Informe spam
Amigos, les cuento que hace unos meses empezamos a trabajar con un grupo de
amigos en un proyecto para crear un framework que saque provecho de las
ventajas de .Net 2.0
La idea original fue de Eugenio Serrano y me invito a trabajar junto a el y
otros amigos.
El proyecto es un framewok de desarrollo, seguramente estarán pensando: otro
más :-)
Nos decidimos a hacer este nuevo con la idea principal de que sea bien facil
de usar y de acercar los objetos a mas gente de una forma facil.

Hemos trabajado con mucha energía estos últimos meses y hemos logrado armar
algo muy interesante según nuestra opinion.

Los objetivos que nos planteamos fueron:

- 100% Orientado a objetos
- Aplanar la curva de aprendizaje y facilitar el camino de quienes aún están
condicionados por el modelo relacional.
- No usar datasets
- No usamos reflection.
- Modelo totalmente tipado, esto significa que las clases de persistencia y
recuperacion de objetos devuelven un tipo especifico y no un tipo object.
- Debido a la potencia de VS2005 se pueden bindear estos objetos a los
controles sin escribir una linea de codigo, y aporvechar las venjas de
edicion de VS2005
- No depende de la estructura relacional, soporta cualquier tipo de
estructura de base de datos.
- No hay que modificar la Primary Key o crear un campo unique en las tablas.
- Usa stored procedures.
- Soporta concurrencia
- Las condiciones de busqueda se expresan mediante objetos específicos
tipados y extendibles por el programador que terminan ejecutando un Stored
Procedure en forma transparente.
- En la capa de negocio todo se expresa en términos del dominio, incluido
los filtros y busquedas.
- Genera código en base a scripts escritos en el lenguaje que prefiera el
programador. Por defecto estan en c#, pero puedo escribir un script en c#,
para generar código SQL, o puedo escribir un script en vb.net para generar
código c#.
- Hay un modelo propuesto de las clases que se generaran que se basa en el
modelo de datos, pero el programador, antes de generar las clases edita
dicho modelo en una herramienta muy facil de usar y define como sera el
modelo que desea crear.
- Si las opciones de modelado que provee la herramienta no alcanzan, el
programador puede editar los templates y generar su propio modelo.
- La herramienta de generacion, genera 2 archivos por cada clase usando
clases parciales pensado para que el programador solo modifique una de las
2.
Si mas tarde se agrega un nuevo campo a una tabla, se puede volver a generar
el otro archivo de manera de no "pisar" cualquier codigo que el programador
ya haya escrito en esa clase.
- Soporta transacciones desconectadas.
- Licencia tipo open source, aún no hemos optado por cual, pero será de
código abierto.

Todo esto lo logramos de forma poco invasiva, implementando interfaces y
valiendonos de las nuevas características del net framework 2.0, sobre todo
Generics y clases parciales.

El framework será publicado en un término no mayor a 60 días.

Nos gustaría mucho contar con algún retorno por parte de la comunidad,
principalmente que cosas les molesta de otras herraminetas de este tipo,
incluso que les gustaría tener y aún no han encontrado en otros frameworks.

Desde ya muchas gracias

Daniel Calvin

Preguntas similare

Leer las respuestas

#61 Daniel A. Calvin
21/06/2006 - 15:03 | Informe spam
Hola Pedro

Un buen inicio es leer a Fowler, si bien no compro todo lo que vende, por
decirlo de alguna forma.
Hay una cantidad de patrones que Martin Fowler explica con mucha claridad y
que te pueden ayudar a armar tu rompecabezas.

IdentityMap
Unit of work
RowDataGateway

No se como estas en OOP, pero es importante tener buen manejo de los
conceptos de OOP.

Es bueno conocer los aptrones del GoF. (Los vas usar bastante, al menos
algunos pocos)

Y no viene mal conocer patrones GRASP, sobre todo Alta Cohesion y Bajo
acoplamiento.

Digamos que leyendo a martin Fowler vas a tene runa idea de que cosas
implementar en una DAL y el porque.

Con las otras cosas que te comento vas poder ubicar mejor algunas
responsabilidades, escribir código mas claro y más mantenible.

Saludos

Daniel Calvin

Daniel A. Calvin
MCP


"Pedro Echavarria" wrote:

Mostrar la cita
#62 Pedro Echavarria
21/06/2006 - 15:45 | Informe spam
Muchas gracias, amigo.


"Daniel A. Calvin" wrote in
message news:
Mostrar la cita
#63 Alfredo Novoa
21/06/2006 - 16:05 | Informe spam
On Wed, 21 Jun 2006 08:03:06 +0200, in microsoft.public.es.desarrollo
you wrote:

Mostrar la cita
Parece que no sabes lo que significa la palabra insultar. Si tu me
dices que no tengo ni idea sobre literatura húngara no es ningún
insulto.

Mostrar la cita
El tono tampoco tiene que ver con los insultos.

Mostrar la cita
Y eso es exactamente lo que hago, dar mi punto de vista para que los
lectores decidan. ¿Por que los demás pueden y yo no?

Atacar ideas que crees equivocadas es algo completamente legítimo y
sano. Atacar las ideas o el trabajo de otras personas es muy diferente
a atacar a otras personas. No conocer esto es no conocer las normas
más elementales de la discusión.

Mostrar la cita
Repito que esto es algo completamente legítimo y más en un campo tan
poco serio como el de la informática.

Mostrar la cita
Pues entonces te has enterado de poco. Cada cosa tiene su ámbito de
utilización y para la gestión de bases de datos el Modelo Relacional
es lo mejor que hay sin discusión. La discusión se dió por cerrada en
los años 70. Gestionar bases de datos de otra forma es simplemente una
insensatez.

Para lo que no sea la gestión de los datos (básicamente la
presentación y la comunicación con los usuarios), hay que usar otras
cosas, y ahí es donde puede entrar la POO.

El problema es que mucha gente intenta usar la POO para algo para lo
que no está indicada.

Mostrar la cita
Por desgracia conozco bien los problemas de gestionar los datos
directamente desde las aplicaciones.

Mostrar la cita
Esto es simplemente mentira. He escrito cientos de lineas llenas de
argumentos, cosa que los "oponentes" no han hecho y se han limitado a
intentar repetir de memoria frases sin sentido que han leido en
cualquier web de dudosa seriedad.

Mostrar la cita
Yo conozco la POO desde hace más de 15 años y la he estudiado en
profundidad. Conozco tanto sus virtudes como sus limitaciones. De a
donde los otros van yo vuelvo.

Mostrar la cita
Claro que si. Que cada uno saque sus propias conclusiones.


Saludos
#64 Alfredo Novoa
21/06/2006 - 16:22 | Informe spam
On Wed, 21 Jun 2006 01:33:01 -0700, Eugenio Serrano <Eugenio Serrano
@discussions.microsoft.com> wrote:

Mostrar la cita
Pues estais fallando en lo más básico. No respetais ni lo que se
enseña en primer capítulo de cualquier texto de introducción a las
bases de datos.

Mostrar la cita
El que sea gratis no es demasiado importante. Si pierdes muchos miles
de euros por usar un enfoque equivocado, el haberte ahorrado unos
pocos euros por el coste de la herramienta es poco consuelo.

Mostrar la cita
Yo no he juzgado el producto en ningún momento, pero lo que habeis
escrito en este hilo son tonterías.

Por poner un ejemplo:

Mostrar la cita
Otro más:

Mostrar la cita
Pues si que habla por si solo y no dice nada bueno. Esta manera de
trabajar es una aberración.

Mostrar la cita
Mejor.
#65 Esther Rodriguez
21/06/2006 - 16:38 | Informe spam
Mostrar la cita
Dar un punto de vista es una cosa. Llamar las cosas "basura" sin decir
exactamente porque cree eso es bien distinta. Sus argumentos se basan
siempre en lo mismo: llevamos desde los 70 con lo mismo y es lo mejor. No
creo que nadie discuta que un modelo relacional sea bueno o no para
almacenar datos. Bien distinta es como se representa esos datos.

Mostrar la cita
En cierta medida si. Pero atacar con insultos no lo es. Defender otra
postura basado en hechos si es legítimo. Ir a un debate y decir que lo que
dice el contrario es basura sin dar motivos, puede hacerlo, pero rápidamente
su reputación se pierde.

Mostrar la cita
Será poco serio para usted.

Mostrar la cita
Creo que usted confunde las cosas. Nadie esta diciendo que hay que utilizar
POO para almacenar datos de forma persistente.

Mostrar la cita
Le importaría explicar eso un poco? Me gustaría saber cuales son los
problemas de gestionar los datos y a que se refiere con gestionar.


Mostrar la cita
Podría ponerme algún ejemplo solo en esta discusión?

Mostrar la cita
Le felicito. Me hace mucha gracias sin embargo que la gente defienda sus
posturas basado en los años que lleva en la profesión, sin concretar hechos.

Mostrar la cita
Me parece fenómeno que usted ya haya vuelto. Sin embargo, eso no implica
necesariamente que haya ido y vuelto por buen camino. No se lo digo
personalmente, pero como veo que usted es fan de esa frase hecha, lo digo en
términos generales.
Ads by Google
Search Busqueda sugerida