Toon posts:

[.NET] Generieke DataCommand

Pagina: 1
Acties:

Verwijderd

Topicstarter
In .NET zijn een aantal datacommands beschikbaar (SqlCommand, OleDbCommand, enz).

Ik wil nu graag m'n database laag gescheiden houden van de code logica. Toch moet ik in m'n code als ik data op wil halen een specifiek Command aanmaken. Dus of een SqlCommand, of een OleDbCommand. Dit wil ik niet...

Nu was mijn plan om een eigen DataCommand klasse te definieren, die simpelweg alles overerft van een van de beschikbare Commands in .NET. Ze hebben immers allemaal de zelfde functies en properties. In m'n code maak ik dan gewoon DataCommand's aan, ipv bijvoorbeeld specifiek een SqlCommand. Wanneer ik opeens een andere db wil gebruiken, laat ik simpelweg DataCommand van een andere command klasse overerven.

Maar helaas, de command klassen zijn sealed.

Heeft iemand tips of suggesties?

[ Voor 6% gewijzigd door Verwijderd op 04-12-2003 14:05 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik dank u vriendelijk. Ik heb het op een iets andere manier opgelost, maar zal dhet topic eens goed doornemen, ziet er interessant uit.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

[@whoami]
heb je intussen die decorator al doorgenomen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Alarmnummer schreef op 04 december 2003 @ 14:34:
[@whoami]
heb je intussen die decorator al doorgenomen?
[schaam]
Nee, dat heb ik nog niet gedaan. :o
Daarnaast zijn er nog een aantal patterns die ik eens zou moeten doornemen (zoals Command).
[/schaam]

https://fgheysels.github.io/


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 04 december 2003 @ 14:04:
In .NET zijn een aantal datacommands beschikbaar (SqlCommand, OleDbCommand, enz).

Ik wil nu graag m'n database laag gescheiden houden van de code logica. Toch moet ik in m'n code als ik data op wil halen een specifiek Command aanmaken. Dus of een SqlCommand, of een OleDbCommand. Dit wil ik niet...

Nu was mijn plan om een eigen DataCommand klasse te definieren, die simpelweg alles overerft van een van de beschikbare Commands in .NET. Ze hebben immers allemaal de zelfde functies en properties. In m'n code maak ik dan gewoon DataCommand's aan, ipv bijvoorbeeld specifiek een SqlCommand. Wanneer ik opeens een andere db wil gebruiken, laat ik simpelweg DataCommand van een andere command klasse overerven.

Maar helaas, de command klassen zijn sealed.
Heeft iemand tips of suggesties?
Gebruik interfaces.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
EfBe schreef op 04 december 2003 @ 15:04:
[...]

Gebruik interfaces.
Dat kan je doen, maar dan moet je alles gaan implementeren en in dit geval vind ik dat niet zo'n goeie oplossing.
Imho is het dan beter dat je een nieuwe class maakt die niet inherit van de gewenste command (SqlCommand of OleDbCommand), maar deze encapsulated.

https://fgheysels.github.io/


  • EfBe
  • Registratie: Januari 2000
  • Niet online
whoami schreef op 04 december 2003 @ 15:05:
Dat kan je doen, maar dan moet je alles gaan implementeren en in dit geval vind ik dat niet zo'n goeie oplossing.
Imho is het dan beter dat je een nieuwe class maakt die niet inherit van de gewenste command (SqlCommand of OleDbCommand), maar deze encapsulated.
huh? Je kunt toch gewoon middels een interface gebruik maken van die objects? Dat kost je alleen wat regels code in een factory. Scheelt aardig wat typewerk, dacht ik zo :)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Hiermee kom je ook een eind verder.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
EfBe schreef op 04 december 2003 @ 19:20:
[...]

huh? Je kunt toch gewoon middels een interface gebruik maken van die objects? Dat kost je alleen wat regels code in een factory. Scheelt aardig wat typewerk, dacht ik zo :)
O, je bedoeld het zo. :)
Ja, dan heb je natuurlijk wel gelijk, maar ik dacht dat je wou zeggen: maak nieuwe classes door de interfaces IDbCommand etc te implementeren. :D :+ Maar dat zou wel helemaal 8)7 zijn.

https://fgheysels.github.io/


  • EfBe
  • Registratie: Januari 2000
  • Niet online
whoami schreef op 05 december 2003 @ 08:51:
Ja, dan heb je natuurlijk wel gelijk, maar ik dacht dat je wou zeggen: maak nieuwe classes door de interfaces IDbCommand etc te implementeren. :D :+ Maar dat zou wel helemaal 8)7 zijn.
haha :) ik word soms niet voor vol aangezien, maar zo erg had ik het toch niet verwacht ;)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com

Pagina: 1