-
11-08-2011, 20:09 #1
Ontwerpmethode voor software (C#)
Hey,
Ik ben van zinnens de komende dagen te beginnen aan een "eenvoudig" programma om aan klant-, product- en aankoopbeheer te doen.
Gekozen taal is C# (heeft mijn voorkeur) maar nu vroeg ik mij af wat de beste ontwerpmethode zou zijn? Als omgeving gebruik ik visual studio, maar zal ik dan best gewoon Object georiënteerd (met klassen) werken? of zijn er andere ontwerpmethodes die voor dergelijk werk interessanter zijn?
(ps. ik heb al dergelijke programma's gemaakt maar dat was met VB en via een bepaalde ontwerpmethode die op school aangeleerd werd maar toch verouderd is voor zover ik weet)
Het programma zal tevens ook van een simpele database (sql) gebruik maken.
Moesten er nog vragen komen zal ik van dit topic gebruik maken.
Met vriendelijke groet,
JeroenThe only real voyage of discovery consists not in seeking new landscapes but in having new eyes.no votes
-
-
11-08-2011, 20:50 #2Member
- Registered
- 17/07/02
- Location
- Mechelen
- Posts
- 1,785
- iTrader
- 21 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/4
Zowiso altijd voor object georiënteerd gaan. En ontwerp patronen zijn bepaalde technieken om zaken efficiënter,properder,... te schrijven in een object georiënteerde taal.
Maar aangezien je nog niet zoveel ervaring hebt met oo, kan je volgens mij gewoon best eerst wat bijleren en er dan pas aan beginnen.no votes
-
11-08-2011, 21:22 #3
hey , bedankt voor je snelle antwoord
ik had het niet over patterns (singleton etc. hebben we tijdens de lessen allemaal doorgenomen)
ik bedoel dat je bvb in plaats van met enkel klassen te werken ook kan werken met onderverdeling in verschillende lagen (BLL, DAL, presentation,..., je werkt dan ook nog steeds met klassen maar het is toch wat anders dan enkel en alleen klassen als onderverdeling)
Ik ben niet nieuw in de programmeer wereld (4j) maar vraag me gewoon af of er geen nieuwe state of the art zaken zijn waarop ik zou moeten letten/waarvan ik gebruik kan maken.
zoals ik ook reeds vermeld kan ik de software die ik wil schrijven, schrijven met de kennis die ik heb (heb al gelijkaardige complexere zaken(applicaties/webtoepassingen) moeten maken).
mijn excuses voor het wekken van een verkeerde indruk
bedanktThe only real voyage of discovery consists not in seeking new landscapes but in having new eyes.no votes
-
11-08-2011, 21:43 #4Approved 9liver
- Registered
- 28/11/03
- Location
- Drongen
- Posts
- 6,665
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 6/28
MVC is wel hot tegenwoordig.
Waarom wil je zo iets schrijven? er bestaan tegenwoordig elvendertig gratis CRM, ERP enzo systemen. de een al wat groter dan de andere.
Als het voor de fun is en om te oefenen, dan go for it
Als het effectief om te gebruiken is in een productie omgeving, kijk je best naar een bestaande.no votes
-
11-08-2011, 22:49 #5Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
Ik zou me eerder afvragen welke databasetechnologie en ORM je wil gaan gebruiken. Uiteindelijk zal complexiteit van code hier nihiel zijn en zal je vooral database acties doen.
Maar zoals passero al aangeeft, er zijn reeds zoveel frameworks die véél meer doen dan jij ooit zal kunnen programmeren gedurende je hele carrière. Ik denk maar bv als eerste aan SAP, maar er zijn tientallen andere.“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes
-
11-08-2011, 23:25 #6Member
- Registered
- 17/07/02
- Location
- Wilrijk
- Posts
- 1,994
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 9/16
Wel ge hebt natuurlijk zo'n dingen als DDD (Domain Driven Design) en wat tegenwoordig ook hip is is CQRS (Command and Query Responsibility Segregation) gewoon eens wat presentaties dervan volgen check: Greg Young, Udi Dahan enz enz
Dat zijn de manieren voor "Complexe" applicaties, dus zeker vrij overbodig voor een "eenvoudig" programma.
Voor simpele programmas gewoon dus uw DAL maken kijken als ge een BL maakt, al dan niet WCF nodig voor apps om te communiceren met BL, apps -> Winforms of WPF, asp.net of SL of JQuery / ajax, ....
Nuja WPF/Silverlight keuze hangt af van uw requirements die ik niet ken
voor ORM dit gebruiken -> Data.Linq - Business Logic Toolkit for .NET
U zeker niet inlaten met brol als Entity Framework of nHibernateno votes
-
12-08-2011, 10:26 #7Approved 9-lifer
- Registered
- 31/07/04
- Location
- Kortrijk
- Posts
- 1,019
- iTrader
- 4 (100%)
- Mentioned
- 0 Post(s)
Waarom zou je uw project niet scheiden in "DAL, BL" etc ?
Alles in 1 project stoppen is toch ook al lang verouderd ? (tenzij in te verantwoorde gevallen)
't is inderdaad zoals cycloon zegt: Uw code zal niet veel voor stellen, het meeste werk zal hem zitten in de database transacties.
Alleszinds succes !
@Moto: Waarom zijn Entity Framework en nHibernate zo slecht?BLOG: http://blog.voltje.be/
DESKTOP: AMD Phenom x4 925 / ASUS Mobo / ATI RADEON HD5770 1GB DDR5 / 4GB DDR3 / 1x 24" Full HD Samsung/ Logitech G9x / QPad Lowsense / Logitech Illuminated !
LAPTOP: Lenovo T510 / Intel i5 @ 2.40Ghz / 8GB Ram / 120GB SSD
WOW CHAR: Averlena, Protection Paladin @ Talnivarrno votes
-
12-08-2011, 11:31 #8Member
- Registered
- 17/07/02
- Location
- Wilrijk
- Posts
- 1,994
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 9/16
Zeer grote Leaky abstractions met veel te grote learning curve, totaal geen ROI of ge moet als job constant kleine tijdelijke programmakes maken@Moto: Waarom zijn Entity Framework en nHibernate zo slecht?
ORM is an anti-pattern | Seldo.Com Blog
Interoperability Happens - The Vietnam of Computer Scienceno votes
-
12-08-2011, 11:34 #9Approved 9-lifer
- Registered
- 31/07/04
- Location
- Kortrijk
- Posts
- 1,019
- iTrader
- 4 (100%)
- Mentioned
- 0 Post(s)
'k gebruik het zelf niet, maar k dacht dat het goed was vandaar :-)
Thanks !
Gebruik jij dan Linq2Sql ?BLOG: http://blog.voltje.be/
DESKTOP: AMD Phenom x4 925 / ASUS Mobo / ATI RADEON HD5770 1GB DDR5 / 4GB DDR3 / 1x 24" Full HD Samsung/ Logitech G9x / QPad Lowsense / Logitech Illuminated !
LAPTOP: Lenovo T510 / Intel i5 @ 2.40Ghz / 8GB Ram / 120GB SSD
WOW CHAR: Averlena, Protection Paladin @ Talnivarrno votes
-
12-08-2011, 12:03 #10Member
- Registered
- 17/07/02
- Location
- Wilrijk
- Posts
- 1,994
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 9/16
ik gebruik al 4 jaar ofzo -> Data.Linq - Business Logic Toolkit for .NET
zelfde ongeveer als Linq2Sql maar dan naar 12 db's
Zeer lage abstractie, zeer kleine learning curve (1 dag als ge Linq kent) en bijna geen leaks.no votes
-
12-08-2011, 14:36 #11Member
- Registered
- 26/06/11
- Location
- Zeebrugge
- Posts
- 1,097
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/26
interessant moto ^^
Deep in the heart where the mysteries emerge.no votes
-
12-08-2011, 21:24 #12no votes
-
12-08-2011, 22:27 #13Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
Als we het hier toch nog wat verder gaan hebben over databanken dan wil ik even het balletje opgooien voor objectdatabanken (ook wel post-relationele databanken genoemd). Het is een beetje jammer dat daar relatief weinig aandacht aan geschonken wordt. Veel grote bedrijven zijn nu eenmaal opgegroeid met relationele databanken en het onderwijs kent jammer genoeg ook nog niet veel anders. Het kan zeker de moeite lonen om ook eens in contact te komen met andere types databanken, veel relationele databanken beginnen ook steeds meer de features van post-relationele databanken na te bootsen. Je kan dan het volledige ORM gebeuren zonder problemen overboord gooien.
“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes
-
12-08-2011, 23:49 #14
Hey,
Zeer leuk dat er veel reactie is, zelf heb ik al wel met het entity framework gewerkt en met jquery, maar het is zoals enkelen hier al aanhalen; het programma gaat zeer "simpel" zijn (zo goed als enkel persistente klasses (ze zullen objecten uit de databank weerspiegelen), het zal vooral draaien rond de transacties met de databanken welke eveneens heel simpel gaan blijven (misschien nog wat grafieken hier en daar maar dat is normaal ook niet het zotste programmeerwerk)...
Hierbij dan gelijk het antwoord op de vraag "waarom geen SAP/ERP...", het gaat echt heel basic zijn en op die manier wil ik het ook geheel gebruiksvriendelijk maken (heb zelf al ERP ervaringen en daar komt vaak toch ook wat uitleg bij kijken) en het is dus "te simpel" om er een SAP/ERP voor te gaan gebruiken en dat te configureren.. tevens is het voor familie en zou het dus handig zijn moestek het zelf hebben geschreven aangezien ik verwacht dat er geregeld iets extra/aanpassinge gevraagd zal worden... de grootste reden is dat ik het als vrije tijd / oefen project wil doen (het is zomer en zou zeker geen kwaad kunnen om ook tijdens deze periode wat te programmeren)...
Ben van plan er een dezer dagen (zeker volgende week) aan te beginnen, ik zal iedereen geupdate houden en ik ga ook enkele zaken die hier gepost werden bekijken (zoals die data.linq etc.) en indien er vragen bij me opkomen zal ik die hier posten
cycloon: ik heb zelf enkel ervaring met relationele databanken en ken dus zeer weinig van objectdatabanken (is vermeld geweest), heb je toevallig goede informatiebronnen (sites) hierover? lijkt me wel interessant om te gebruiken (aangezien de OO lijn doortrekken naar de databank wel interessanter is dan problemen te omzeilen (als een veel op veel relatie en dergelijke)
edit:
MVC heb ik pas gebruikt voor een grote webtoepassing samen met het entityframework ging dit zeer vlot, alleen heb ik echter de indruk dat dat meer naar webtoepassingen neigt?
nog eens bedankt voor de reacties! !!
groeten,
JeroenLast edited by jer0nim07; 12-08-2011 at 23:55.
The only real voyage of discovery consists not in seeking new landscapes but in having new eyes.no votes
-
13-08-2011, 08:43 #15Crew Member
- Registered
- 01/09/02
- Location
- Peutie
- Posts
- 7,664
- iTrader
- 0
- Mentioned
- 4 Post(s)
- Reputation
- 13/105
Ik weet ondertussen wel al dat jij hier een grote fan van bent, maar zomaar even beweren dat hij zich niet moet inlaten met iets anders is wel kort door de bocht. Als je gewoon de data wil opslaan, en sommige data is uitstekend geschikt voor in een database, maar je wil geen uren spenderen aan een database tabel design, omdat je eigenlijk kan uitgaan van uw implementatie, dan zijn er betere systemen dan BLT. Tools zoals DataObjects schermen het hele SQL gebeuren van u af, en gaan uit van uw data model. Ik heb er een dik half jaar mee gewerkt, in een vrij complexe applicatie structuur en ik kan u verzekeren dat het toch wel goed werkt.
Vanaf nu gaan we verder op BeyondGaming!
In deze thread wordt uitgelegd hoe je jouw account kan migreren.no votes

