2009-12-22 10 views
10

Ho programmato in Java negli ultimi 2 anni e ora voglio entrare nelle applicazioni di progettazione. Finora sono solo in codice, cioè; mi viene dato un documento di design/diagramma di classe ecc. e chiesto codice. Ora voglio imparare come progettare, voglio dire che voglio appoggiarmi quando una classe deve essere un'interfaccia non una classe concreta, arrivando con il design dati i requisiti, le tecniche di progettazione e tutti gli altri aspetti del design.Come imparare a progettare applicazioni in Java

Per sapere tutte queste cose potreste plese suggerire qualsiasi serie di articoli/libri ecc

Ho provato a leggere Patterns Headfirst di progettazione, ma anche se io sono in grado di cogliere alcuni modelli di progettazione, non sono ancora in grado di accendi le richieste desiging da solo.

prega di aiuto.

+0

Hi .... Sei nuovo modo solo un suggerimento ... Se mi è piaciuta una risposta quindi per favore non dimenticarti di accettarla. Incoraggia gli altri a risponderti. Basta controllare il "segno di spunta" sotto la risposta che più ti è piaciuta. :-) – Rites

risposta

11

I modelli di progettazione sono esempi abbastanza avanzati di funzioni di progettazione basate su principi fondamentali quali separazione delle preoccupazioni, coerenza ed estensibilità. Se ti trovi nella fase in cui ti stai interrogando su Interfacce e Classi, potresti dover leggere alcune idee fondamentali di OO. Ad esempio, leggi i principi SOLID. Quindi non comprerei un libro, inizierei da quell'articolo e seguirò link e googles da lì.

Quindi, la lettura non è sufficiente, è necessario.

La prossima volta che ottieni una specifica, studialo. Comprendi il problema che viene risolto, quindi vai a casa e progetta te stesso. Confronta il tuo tentativo con le specifiche. Oppure consideri alternative alle specifiche che ti vengono fornite, supponi che tu non abbiate un'interfaccia qui, o una fabbrica lì perché dovrebbe essere così?

Idealmente, la tua crescita sarebbe abilitata se i leader avessero iniziato a darti problemi meno specifici e ti permettessero di progettarli. Le pressioni del progetto potrebbero impedirlo. Nel qual caso penso che tu abbia bisogno di lavorare nel tuo tempo libero. Scegli alcuni piccoli progetti e lavoraci. Questo può essere difficile a meno che tu non abbia dei mentori, ma penso che leggere senza fare non ti anticipi così in fretta.

+1

+1 per aver proposto di comprendere le specifiche esistenti tramite esperimenti mentali. E non dimenticare, se consideri una scelta per un po 'e non riesci a capire perché è stata fatta così, dovresti * essere in grado di chiedere al tuo collega (i) a riguardo. Finché non li molesti ogni ora o così, e possono vedere che stai cercando di imparare, sono sicuro che sarebbero felici di aiutarti a capire. –

0

L'unico modo per migliorare è leggere schemi di progettazione, provare cose, imparare dagli errori e ottenere consigli da persone che hanno già alcune di queste esperienze. Un'altra cosa è che dovresti sapere quando non usare i modelli anche. alcune volte trascuriamo per motivi di design e questo rovina il progetto.

2

Per l'inizio provare questo:

  1. Leggi un paragrafo circa 1 modello di progettazione (come elencati nel libro).
  2. Cerca di capire il problema che risolve.
  3. Immaginate qualche attività con questo problema.
  4. Code it.
  5. Disegna un diagramma di classe del tuo programma su un pezzo di carta (senza strumenti automatici).

Un modello al giorno sarà una velocità molto buona.

0

Sono d'accordo con Ben e vorrei aggiungere i miei 2 bob per ...

Il design è un'arte, e come la pittura non viene dai libri, viene dall'interno.

Concetti come Design Patterns non sono l'alfa e l'omega del design, ma fanno parte del toolkit utilizzato per creare un design. I Pattern di design in particolare ci forniscono un vocabolario per descrivere gli approcci alla risoluzione di alcuni problemi comuni. Tuttavia identificare i problemi da risolvere è parte dell'arte di creare un progetto dai requisiti.

Dai un'occhiata ai requisiti relativi ai documenti di progettazione che ricevi per codificare. Pensa al modo in cui i progettisti hanno suddiviso i requisiti in una serie di problemi finiti da risolvere.

E, naturalmente, non abbiate paura di chiedere ai vostri progettisti il ​​loro approccio.

3

Si potrebbe leggere efficace Java di Josh Bloch.

Gli schemi di progettazione sono buoni, sicuramente letti su di essi, ma è sapere quando usarli è la vera abilità. Per lo più devi sporcarti le mani.

A un programmatore mediocre verrà assegnato un compito, sbattere la tastiera fino a quando non hanno qualcosa che funziona e andare avanti. Di tanto in tanto ottenere qualcosa che funziona è la cosa giusta da fare, ma spesso un programmatore come questo lascia una scia di codice orribile nella loro scia.

È possibile apprendere una quantità enorme da un approccio più accademico. Scrivi del codice, fallo funzionare, quindi miglioralo. Riscrivialo da zero riutilizzando ciò che hai imparato scrivendolo per la prima volta. Dedica più tempo a guardare cosa puoi migliorare per quanto riguarda tutti gli aspetti del codice: velocità, memoria, algoritmi, schemi di progettazione, persino il tuo stile di codifica.

0

Il modo migliore per imparare qualcosa è imparare facendo e imparando da altri progetti del mondo reale.

L'apprendimento dei modelli di progettazione è essenziale per progettare buone applicazioni, ma questo da solo non sarà sufficiente. Oltre ai libri/lettura/esempi, consiglio di passare attraverso la progettazione di applicazioni esistenti. Scegli un progetto Open source: esplora, sperimenta e contribuisci al progetto. Mentre contribuisci a conoscere i principi e i metodi di progettazione utilizzati nel progetto. Non aver paura di provare più progetti finché non trovi quello che ti eccita di più.

Naturalmente inizialmente sarà necessario conoscenze teoriche per cominciare, quindi vi consiglio il libro seguente:

  • Applicare UML & Patterns da Larman
0

applicazioni Progettazione prende un po 'di pratica, ma che non dovrebbe impedirti di provare Dopo un po ', imparerai a conoscerlo;

Un consiglio: cerca di imparare dai tuoi colleghi. Lascia che ti mostrino come progettano le applicazioni, che processo seguono, come identificano i problemi e usano schemi per risolverli? A volte è meglio vedere come funziona il processo di progettazione invece di provare a imparare tutto da solo.

miei 50 centesimi su buone risorse:

  1. SourceMaking Design Patterns

  2. Video course on design patterns

Problemi correlati