Avatar billede bildsoe Nybegynder
14. juni 2011 - 09:58 Der er 20 kommentarer og
2 løsninger

Hvad skal jeg sætte mig ind i?

Hej

Jeg er ved at lære at programmere i C# og synes jeg konstant støder på problemer, eller rettere ting, hvor den måde jeg umiddelbart vælger at implementere det på, virker uelegant, og højest sandsynligt vil komme til at give problemer senere i forløbet.

Jeg er desværre i en situation, hvor jeg ikke har tid til at tage en uddannelse mere, så jeg vil høre om nogen kan anbefale bøger ikke så meget om C# men mere om systemudvikling generelt og kan pege mig i retning af, hvad for teori jeg vil have gavn af at sætte mig ind i.

Jeg har indtil videre kigget lidt på noget materiale omkring Design Patterns og på noget omkring S.O.L.I.D principperne. Jeg mangler også materiale omkring dokumentation af softwareudvikling og evt. noget info om skitsering af løsninger. Der har jeg kigget på UML, men ved ikke om det er relevant.
Avatar billede jjam Juniormester
14. juni 2011 - 10:27 #1
Jeg vil godt anbefale nedenstående.
http://www.learnvisualstudio.net

Har i hvert fald selv haft glæde af det, og samme pris som en billig bog.
Avatar billede johny Nybegynder
14. juni 2011 - 10:52 #2
En del af dit problem løses lidt ved at læse bogen:
Refactoring, Improving the Design of Existing Code

Den kan helt klart anbefales enhver programmør.

Jeg ved godt det ikke er helt det du er ude efter, men hvis du ikke allerede har kigget på den, synes jeg du skal tilføje den til stakken af "must reads".
Avatar billede j3ppah Novice
14. juni 2011 - 11:04 #3
docjava.dk

Den er godtnok specificeret til java, men patterns osv. er jo universalt.
Den giver en dejlig stille og rolig gennemgang, i et tempo alle kan følge med til.
Desuden er der brugt rigtigt gode eksempler og flotter forklaringer.
Avatar billede bildsoe Nybegynder
14. juni 2011 - 11:31 #4
@jjam - umiddelbart virker det som om siden indeholder mere konkrete eksempler på, hvordan man programmerer i C#, altså syntaks, kontrolstrukturer osv. Jeg leder mere efter materiale generelt om systemudvikling.

@johny - jeg vil helt sikkert kigge på denne. Synes at Refactoring er et begreb jeg ofte støder på.

@j3ppah - tjekkede lige siden ud. Synes umiddelbart den virker til at give en god indføring i programmering. Jeg synes ikke alle Design Patterns var med? men er det fordi jeg ikke ved nok om design patterns og der måske i virkeligheden er en række "basis patterns" som mange andre bygger på?
Avatar billede j3ppah Novice
14. juni 2011 - 12:07 #5
altså der er om disse patterns der inde
Adapter pattern
Command Pattern
Composite Pattern
CoR Pattern
Facade Pattern
Handle Pattern
Iterator Pattern
Mediator Pattern
MVC PAttern
Observer Pattern
PRototype Pattern
Singleton Pattern
Strategy Pattern
Visitor Pattern

Synes du burde være rimeligt godt dækket ind :)... Hmm, ved ikke lige hvad der umildbart skulle mangle ?
Avatar billede bildsoe Nybegynder
14. juni 2011 - 12:30 #6
Jeg stod f.eks. nu og skulle vælge mellem, hvordan jeg vil implementere database tilgang. Og der har jeg læst to forskellige eksempler på patterns nævnt. Et der hedder Repository og så noget Table Gateway. Og har flere gange også stødt på Dispose Pattern. Men tror det er min viden der er utilstrækkelig.
Avatar billede j3ppah Novice
14. juni 2011 - 12:36 #7
Jeg kan desværre ikke besvare dit spørgsmål, da jeg ikke selv er synderligt meget inde i patterns :/...

Men håber da du får gavn af siden, den er om ikke andet god som opslags værktøj :)...

Held og lykke.
Avatar billede softspot Forsker
14. juni 2011 - 13:02 #8
Her en anden kilde til designpatterns: http://sourcemaking.com/design_patterns

Jeg må også indrømme at jeg ikke (bevidst) har brugt desgin patterns i særlig stor udstrækning, så hvordan hver enkelt af de gennemgåede patterns virker i praksis, kan jeg ikke umiddelbart hjælpe dig med... men det kan være du kan finde nogle du ikke har kunnet finde andre steder.
Avatar billede bildsoe Nybegynder
14. juni 2011 - 13:15 #9
Ok tak til j3ppah og softspot. Måske handler det også bare om at kaste sig ud i det, og finde ud af tingene hen af vejen. Jeg ved ikke rigtigt om Design Patterns overhovedet er noget der bliver brugt, eller om det er noget man bruger til at snakke om programmering ud fra et teoretisk synspunkt. Det er også derfor jeg søger materiale om en mere generel tilgang til systemudvikling. Har f.eks. fundet denne her:

Microsoft Application Architecture Guide, 2nd Edition
http://msdn.microsoft.com/en-us/library/ff650706.aspx

Men ved ikke rigtig om man kan tage tingene seriøst, eller om det er noget Microsoft har forfattet, uden egentlig faglig tyngde, for at lokke folk til at bruge deres programmer.
Avatar billede jjam Juniormester
14. juni 2011 - 13:19 #10
@jjam - umiddelbart virker det som om siden indeholder mere konkrete eksempler på, hvordan man programmerer i C#, altså syntaks, kontrolstrukturer osv. Jeg leder mere efter materiale generelt om systemudvikling

Ok - bildsoe, så misforstod jeg spørgsmålet. Trode at du var ved at skifte til C# fra andet sprog.
Avatar billede bildsoe Nybegynder
14. juni 2011 - 13:21 #11
@jjam - jeg skulle nok have været noget mere klar i spyttet da jeg formulerede spørgsmålet så :)
Avatar billede softspot Forsker
14. juni 2011 - 13:33 #12
Hvorvidt du stoler på hvad Microsoft mener om systemudvikling og best practices må være op til en personlig stillingtagen, men givet at du koder i C#, ville det da være et godt udgangspunkt, at stole på Microsoft og deres erfaring med at lave systemer :-)

Men bort set fra det, så er der i min verden, forskel på at kunne programmere og at programmere i et specifikt sprog. Det ene handler om at have en forståelse for, hvordan man på en struktureret måde løser problemer, typisk vha. en computer, det andet handler om at lære en syntaks og et framework. Det jeg kan forstå på dig er, at du ønsker viden om det første (hvilket for mig at se er det rigtige udgangspunkt). Jeg er enig med dig i, at man skal lære det ved at gøre det, så det er et spørgsmål om at kaste sig ud i en masse projekter, hvor man får noget erfaring med hvad der virker og hvad der ikke virker.

Jeg tror ikke det er en dårlig investering at have et grundliggende kendskab til design patterns (DP), da det giver dig et godt fundament til at løse mange af de objektorienterede opgaver du måtte få. Man skal blot være forsigtig med at presse DP ned over alle opgaver, for noget er bare ikke egnet hertil. Et godt princip indenfor programmering er generelt KISS (Keep It Simple Stupid) og det er ikke altid DP medfører det mest simple resultat.
Avatar billede bildsoe Nybegynder
14. juni 2011 - 14:02 #13
@Softspot - du har ret i at jeg søger en grundlæggende forståelse for det at programmere. Det er også derfor jeg søger materiale om programmering/systemudvikling/systemarkitektur på et mere generelt plan. Noget info om gode tilgange til systemudvikling. Jeg vil selvfølgelig kigge på de nævnte ting, men mangler især en metode til at visualisere de tænkte løsninger for mig. Jeg overvejer UML, men er ikke klar over om UML stadig er relevant, og om det overhovedet er det man vil modellere en løsning i, før man vil begynde at programmere den.
Avatar billede arne_v Ekspert
14. juni 2011 - 14:19 #14
UML er standardEN.
Avatar billede arne_v Ekspert
14. juni 2011 - 14:25 #15
Med hensyn til boeger vil mine forslag vaere:

Design Patterns: Elements of Reusable Object-Oriented Software / Gamma etc.

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development / Larman

Patterns of Enterprise Application Architecture / Fowler
Avatar billede bildsoe Nybegynder
14. juni 2011 - 14:33 #16
Tak til alle for svar. Tror jeg har lidt at give mig i kast med efterhånden.

Arne_v og Softspot i deler point.
Avatar billede arne_v Ekspert
14. juni 2011 - 14:42 #17
svar
Avatar billede softspot Forsker
14. juni 2011 - 15:07 #18
Velbekomme.
Avatar billede janus_007 Nybegynder
14. juni 2011 - 21:26 #19
Det meste er næsten blevet sagt her, men du(bildsoe) spurgte om design patterns er noget der bliver brugt; til det vil jeg sige "ja absolut". Design patterns er altid gode at have ved hånden, et hav af andre programmører har allerede siddet med samme problemstillinger som dig, så hvorfor ikke lære af dem :)

Problemet med design patterns er ofte, at det er svært lige at finde et der kan passe til problemstillingen. Men nu når du allerede sætter dig ind i emnet, så er du længere fremme end mange med flere år på bagen end dig. Godt gået :)
Avatar billede bildsoe Nybegynder
15. juni 2011 - 10:03 #20
Tak for kommentaren janus_007. Jeg er allerede stødt på første eksempel på, hvor der ikke er et Design Pattern der passer helt på det jeg laver, men hvor der rettere er to forskellige der begge vil kunne dække de krav der er til løsningen, men hvor jeg ikke har erfaringen til at afgøre, hvilken vil være bedst.
Avatar billede johny Nybegynder
15. juni 2011 - 10:11 #21
Og det er så her refaktoring kommer ind i billedet. ;) Så længe man laver vel struktureret kode, hvor man forstår hvad delene gør, så er det lettere at skifte strategi/design pattern, hvis man finder ud af at det skal fungere anderledes.
Avatar billede bildsoe Nybegynder
15. juni 2011 - 10:24 #22
Ah, det er jo smart. Jeg vil i gang med at læse om Design Patterns og refaktorering :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester