Logga in

Priserna visas inklusive moms och du betalar med Klarna


Priserna visas exklusive moms, du kan betala med Klarna eller faktura

Priserna visas inklusive moms och du betalar med Klarna


Priserna visas exklusive moms, du kan betala med Klarna eller faktura

Varukorg

Varukorgen är tom!

Varukorgen inkl. moms 0 kr


Elektronisk distribution

Frakt inkl. moms 0 kr


Varav moms (6 %) 0 kr

Varav moms (25 %) 0 kr

Öresutjämning 0 kr


Att betala inkl. moms 0 kr


Till kassan

Designmönster för programmerare

Skickas följande arbetsdag

Att inte återuppfinna hjulet är en självklarhet inom de flesta discipliner. ­Programmerare har dock länge envisats med att ständigt börja om från ­början. Sedan mitten av 1990-talet har dock idén om designmönster slagit rot: att samla goda lösningar på återkommande problem, klassificera dem och ge dem namn. Designmönster för programmerare beskriver denna klassifikation samt hur mönstren inspirerar designers och programmerare att konstruera väl-strukturerade, robusta och flexibla program. Ett ...

Läs mer

Att inte återuppfinna hjulet är en självklarhet inom de flesta discipliner. ­Programmerare har dock länge envisats med att ständigt börja om från ­början. Sedan mitten av 1990-talet har dock idén om designmönster slagit rot: att samla goda lösningar på återkommande problem, klassificera dem och ge dem namn. Designmönster för programmerare beskriver denna klassifikation samt hur mönstren inspirerar designers och programmerare att konstruera väl-strukturerade, robusta och flexibla program. Ett trettiotal generella mönster från olika användningsområden beskrivs i avsikt att ge läsaren aktiv tillgång till dem. Exemplen är koncisa och undviker tröttsamma flersidiga kodlistningar. I boken används huvudsakligen Java. På de få ställen där implementeringen skiljer sig språkmässigt finns även varianter för C++ och C#. Den innehåller även en kort översikt av de delar av UML som används. Syftet med boken är att ge mer än en grundläggande repertoar av mönster. Den ger även tankestimulans för att i framtiden stärka vaksamheten mot ”unken” programkod samt ständigt söka efter och utföra förbättringar genom refaktorisering. Denna andra upplaga utökar repertoaren med ett antal generella mönster från skiktade serverarkitekturer och lägger i övrigt till pedagogiska förtydliganden baserade på ett antal års undervisning om ­designmönster.Boken vänder sig till programmerare och designers. Läsaren ­förutsätts har grundläggande kunskap om objektorientering och ­programmering.

Stäng
    • 7
      Förord
    • 1
      15
      En konkret introduktion
        • 1.1
          15
          Ett enda objekt av en klass: Singleton
          • 1.1.1
            17
            En bräcklig lösning
          • 1.1.2
            17
            En något klumpig lösning
          • 1.1.3
            18
            En något bättre lösning
          • 1.1.4
            19
            En något ännu bättre lösning
          • 1.1.5
            20
            Bästa lösningen
          • 1.1.6
            21
            Slutsats
        • 1.2
          22
          Att löpa igenom objekten i en behållare: Iterator
          • 1.2.1
            23
            Att löpa igenom alla behållare på samma sätt
          • 1.2.2
            26
            Egna behållare
          • 1.2.3
            27
            Slutsats
    • 2
      29
      En diskuterande introduktion
        • 2.1
          29
          Definition av »designmönster
        • 2.2
          30
          Nytta och övertro
        • 2.3
          31
          Att designa och programmera med ändringar i åtanke
          • 2.3.1
            32
            Hög kohesion – låg koppling
          • 2.3.2
            33
            Återanvändning
          • 2.3.3
            33
            Unken kod – skäl för refaktorisering
        • 2.4
          34
          Designmönster och programutvecklingsmetoder
          • 2.4.1
            35
            Extreme/Agile Programming
        • 2.5
          36
          Klassificering av designmönster
          • 2.5.1
            38
            Egna mönster
    • 3
      39
      Mönster för gränssnitt
        • 3.1
          40
          Gränssnittsanpassare: Adapter
        • 3.2
          47
          Att dölja komplexitet: Façade
        • 3.3
          51
          Ställföreträdare: Proxy
        • 3.4
          57
          Att separera gränssnitt och implementering: Bridge
    • 4
      63
      Mönster för struktur
        • 4.1
          63
          Att hantera hierarkier: Composite
        • 4.2
          70
          Att dela objekttillstånd: Flyweight
    • 5
      75
      Mönster för beteende
        • 5.1
          76
          Att kapsla in kommandon: Command
        • 5.2
          84
          Att styra tillvägagångsätt: Strategy
        • 5.3
          91
          Att låta ett objekt byta tillstånd – beteende – roll – typ: State
        • 5.4
          97
          Att dynamiskt kunna lägga till beteende: Decorator
        • 5.5
          102
          Att undvika beroendekaos: Mediator
        • 5.6
          107
          Att delegera: Chain of Responsibility
        • 5.7
          111
          Att undvika duplicerad kod och följa en mall: Template Method
        • 5.8
          116
          Att enkelrikta beroende: Observer
        • 5.9
          123
          Att separera operationer från datastruktur: Visitor
    • 6
      131
      Mönster för objekts skapande och livscykel
        • 6.1
          133
          Att få rätt sorts objekt skapat: Factory Method
        • 6.2
          138
          Att skapa familjer av objekt: Abstract Factory
        • 6.3
          143
          Att skapa via kloning: Prototype
        • 6.4
          149
          Att bygga objekt i delar: Builder
        • 6.5
          154
          Att vara unik: Singleton
        • 6.6
          155
          Att ta minnesbilder av ett objekt: Memento
        • 6.7
          158
          Att återanvända begagnade objekt: Object Pool
    • 7
      161
      Mönster för parallella program och skiktade arkitekturer
        • 7.1
          162
          Designmönster och parallellitet
          • 7.1.1
            162
            Javas behållare
          • 7.1.2
            163
            Flertrådsproblem: Singleton
          • 7.1.3
            167
            Att slippa administrera jobb: Worker Thread
        • 7.2
          170
          Mönster för skiktade arkitekturer
          • 7.2.1
            170
            En skiktad modell
          • 7.2.2
            172
            Att renodla affärsobjekt och deras beteende: Business Object
          • 7.2.3
            174
            Att renodla åtkomst och lagring av objekt: Data Access Object – DAO
          • 7.2.4
            176
            Att renodla presentation av data: Model-View-Controller – MVC
          • 7.2.5
            178
            Att isolera ett objekt för testning: Mock Object
          • 7.2.6
            180
            Att inte låsa fast beroenden i programkod: Inversion of Control – Dependency Injection
        • 7.3
          184
          Mönster för distribuerade system
          • 7.3.1
            185
            Att inte prata för mycket på nätet: Data Transfer Object
          • 7.3.2
            188
            Att ha ett objekt på två ställen: Half Object Plus Protocol (HOPP)
        • 7.4
          190
          Mönster i speciella miljöer
    • 8
      191
      Refaktorisering
        • 8.1
          192
          Vad är refaktorisering
          • 8.1.1
            193
            Varför investera i refaktorisering
          • 8.1.2
            194
            När fungerar inte refaktorisering
          • 8.1.3
            195
            Unken kod
          • 8.1.4
            196
            Automatiserad testning och verktyg
        • 8.2
          197
          Att beskriva refaktoriseringar
          • 8.2.1
            198
            Några exempel på refaktoriseringar
          • 8.2.2
            201
            Refaktorisering med designmönster
    • 9
      205
      Appendix: Kort om UML
        • 9.1
          205
          Klassdiagram
          • 9.1.1
            207
            Association
          • 9.1.2
            208
            Aggregation
          • 9.1.3
            209
            Arv
        • 9.2
          210
          Subsystem(package)-diagram
        • 9.3
          211
          Objektdiagram
        • 9.4
          212
          Sekvensdiagram
    • 10
      213
      Appendix: Java för den som kan C++ eller C
    • 217
      Referenser
    • 219
      Ordlista
    • 222
      Sakregister
Information

Författare:

Ulf Bilting

Illustratör:

Niklas Hofvander

Språk:

Svenska

ISBN:

9789144076089

Utgivningsår:

2005

Revisionsår:

2011

Artikelnummer:

32013-02

Upplaga:

Andra

Sidantal:

228
 ;