U E D R , A S I H C RSS

Holub On Patterns/밑줄긋기

1.

1.1.

  • p.1
    • 트, , 훅, . ~~~ .
      • , 항 . -
      • . 하(ㅋㅋ) -

1.2.

  • p.3
    • .
      • ? -
        • .. , ( ). ㅋㅋ 1. . 2. 한 확 . -
        • ㅠㅠㅠㅠ ... -

2. OO

2.1. vs

  • p.22
    • .
      • . -
        • . -
    • 1980 C .
      • C . -
    • . .
      • 트헤 " 행하 "한 . ? ? -
        • ? 100% . -
          • . ㅋㅋ -
        • . . -
          • . (패 ) -

2.2. ?

  • p.22
    • 해해.
      • 한 패 . -
  • p.23
    • .
    • .
    • .
    • .
      • .. 판하 . "패 !! !!" -
  • p.24
    • 한 패 .
    • , '패 '( ) ''.
      • '' . -
        • '' 통한 -
        • .. -
        • -
    • ' 통풍' .
      • . ' 통풍' 패 . -
        • -
          • .. .. -
    • .
  • p.25
    • , 하 .
    • .
  • p.26
    • .
  • p.27
    • 통해 해하 .
    • 키텍 포함한 .
    • .
    • .
      • -

2.3. , ?

  • p.28
    • 확했.
  • p.29
    • .
      • . -

2.4.

  • p.29
    • .
    • . .
  • p.30
    • .
    • .
      • !!! -
      • -

2.4.1.

  • p.30
    • ' 키텍' .
  • p.31
    • .
    • .( .)
    • .
      • ? ? -
        • .. .. -
          • . ' .' -_-; -
        • . -
    • .
    • .
    • .
      • . -
      • . 편하. -
  • p.32
    • 함 , .
    • . 팩토 .

2.5.

  • p.32
    • 한 패 택하 .
  • p.34
    • 해하 .
    • .
  • p.34
    • 한 패 . .

2.5.1.

  • p.35
    • (OOD) (OOP) .
    • 통한 .
    • , 화, .
    • (Agile) .
      • , .. -
    • 키텍트 .
      • YES ? -
        • 키텍 해해 ? -
          • 하, ? -

2.5.2. C

  • p.37
    • 토하 화 한.
    • 통해 .
    • 호 협 , 통해 통.
    • .
      • . ? -
    • '' .
    • .
  • p.39
    • MFC .
      • MFC MFC . -
  • p.40
    • . 하 .

2.5.3.

  • p.40
    • , .
      • ( )해. () ? -
    • .
      • " " . " " ... ..? -
        • faith coding 통하 ㅋㅋ -
  • p.41
    • 폐해 해하 .

2.6. ?

2.6.1. !

  • p.42
  • OO () .
  • OO .
  • " ." . 허! .
    • ! ?-
    • !! -
    • 흔히 C C++ , '' ' "클 structure(data) + method(to do) ." . ( ...) -_-;; -
      • . 클 + c++ ..? -
    • 2학 ㅜㅜㅜ Spring/탐험 ㅜㅜㅜㅜ ... -

2.6.2.

  • p.43
    • OO 1 .
      . .
    • . " (Ask for help, not for information)."
      • !!! ! 해! -
      • (-_-;;) -
        • !!!! -
    • .
      • !! -
      • 6 . . C ? ;;;;;;; OOP ... 클 OOㅜㅜ 한학 . -
        • 한학 -
          • . -

2.6.3. ?

  • p.45
    • OO 화 하 , .
    • . .
  • p.48
    • .
      • wow. -
      • ... -

2.6.4. '' 할 ?

  • p.48
    • (lira) 통화 통화 (euro)
    • ? .
      • . . -

2.7.


  • p.52
    • (Cellular automata) OO . 확히 .
      • .. -
    • 통 흐 ,, . 통 흐 , .
      • SimCity!!!! -
      • ... -

  • p.54
    • OO .

  • p.55
    • 포함하 . 통해 . 포함하 .
    • getter setter , . getter getter 'getter' . getter setter . .

  • p.56
    • ! !!

2.8.


  • p.57
    • 화하 'get' 'set' . 행하 . 하 get/set private , .
  • p.58
    • .

  • p.60
    • ? 통해 ? .
    • public 험한 험하.
      • get, set public .. -
  • . 클 , ?
  • OO .

  • p 62
    • 한 ' ' , .

2.8.1.


  • p.62
    • UI .

2.8.2.


  • p63
    • 행히 한 getter/setter .

2.8.3. 팩토


  • p65
    • 팩토.
    • , 팩토 .
    • . 팩토 .

2.8.4. get/set

  • p 67
    • CRC 통한 ' ' .
  • p68
    • CRC . UML .
    • 한 ' ' . 하 .

2.8.5. getter setter ?


  • p69
    • '(pull)' '(push)' .
    • ' ' 패키 . getter setter .

2.8.6. getter/setter


3.

  • 75p
    • OO GoF .
    • extends .

3.1. Extends ?

  • 75p
    • extends 키 .
    • ... .
    • ... extends .
      • -

    • (extends) (implements) .

  • 76p
    • " ' C++ ' CEO . .
      • . mfc . -
    • extends .
    • OO , .
    • OO .

  • 77p
    • extends implements C++ 확하. C++ .
      • C++ . C++ . -

3.2. vs. 클

3.2.1.

  • 77p
    • ? .

  • 78p
    • , .
      • ...? -

    • . . , .
      • . . -
    • ... .

3.2.2.

  • 80p
    • private. ? . !
    • protected . protected public .
      • get/set protected , . ... -
  • p81
    • OO '(strictness)' .
      • -
      • , .. 하 . .. -

3.2.3.

  • p81
    • , 트해 .
      • ㅋㅋㅋ -
  • p86
    • 트해.
  • p87
    • 토해 .
      • implements하 ? -

3.2.4.

  • p90
    • '' .


3.2.5.

  • p91
    • . MFC(Microsoft's Foundation Class) .
      • MFC . .. -
    • .
      • MS . -
        • UI ㅋㅋㅋ -
          • UI ? . -
  • p92
    • 키텍 .

3.2.6. Template method Factory Method 패

  • p99
    • Factory Method 패 . Strategy 패 Factory Method 패 .
    • . , " ?" , .
      • ... ! -

3.2.7.

  • p101
    • '' .
    • . 하 .
  • p103
    • .

3.3. extends ?


  • p103
    • extends .
    • 화( ) .
      • . 편하? ? -

    • .

  • p104
    • OO .
      • 5 !? -

    • . 포함 .
      • DB SE . 확히. . . -

    • p105
      • 'is-a' . .
        • . extends . 'is-a' ! -

      • 한 클 . 행할 .
        • .. 확 extends 해할 . -

      • . (LSP) . LSP , (OCP) .
        • ...? -

3.4. extends


  • p107
    • 팩토 . .
      • . 2 . . . -


~~java
interface Employee
{   void youAreFired();
}
  • . -

3.4.1. 팩토


  • p108
    • Abstract Factory Abstract Factory .
      • Abstract Factory (?) 한 패 -

    • Abstract Factory 팩토 확한 .

  • p110

~~java
public static class EmployeeFactory
{   private Factory(){/*/}

    public static Employee create()
    {   return new Employee()
        {   public void youAreFired(){/**/}
        }
    }
}
  • peon Employee() implement . private Peon ? 할 클 -


  • p111
    • ' ' Singleton 패 . Employee factory 한 Singleton 패 .
      • ? -

3.4.2. Singleton


  • p113
    • static .
      • Gara Static Hell o! -

  • p114

~~java
class Singleton
{  private static Singleton instance = null;
   public static instance()
   {  if( instance == null)
      { instance = new Singleton();
      }
      return instance;
   }
   //...
}
  • Java GUI . . -

3.4.3. Double-Checked Locking( )


  • p116
    • DCL . 10 1000 .
      • .... . 한테 ? -

    • DCL ' 한' . . .
      • . ? -

3.4.4. Singleton


  • p117
    • ?
      • -

  • p118
    • ' ' .
      • -

  • p119
    • Singleton Singleton .
      • (Zombie ate your brain) -

3.4.5. Abstract Factory 패

  • p120
    • Singleton 패 Abstract Factory 패 . Abstract Factory .
      • . ... -

    • Peon 클 , .
      • ? youAreFired() ? garbage Collector ? -

  • p121
    • Abstract Factory 패 '(family)' .

  • p122
    • Abstract Factory 패 (isolation), 통해 .

  • p123
    • ( )
      • 해. ..? ? -

  • p124
    • static .
      • ? -

  • 화할 . .

3.4.6.


  • p124
    • ' ' .

  • p125
    • URLConnection InputStream Abstract Factroy.

  • p126
    • .
      • . -

3.4.7. 팩토


  • p128
    • 통해 .
      • . Hard . ? -

  • p128
    • Class.forName() Class .
      • .. . -

3.4.8. Command 패 Strategy 패


  • p131
    • Strategy 패. Strategy 패 Command 패 .
    • C C++ .
      • .. 함. . Java C . -

    • Command패 .

  • p132
    • Strategy 패 '' 행할 화한 Strategy .

  • p135
    • Strategy Factory Method .

4.


  • p139
    • .
      • Life Game Life Game ? -

    • 10 . 행히 해하 . 클 20 .
      • ... .. 20. GUI . -

    • GUI () , .
      • ' .',' 행하 ' . -

    • .

    • .

    • .

4.1.

  • p140
    • 1 .

    • .
      • . -

    • .
      • -

  • p141
    • .
      • Naver Ending Story.. -
        • Naver Anding story? -

  • p143
    • .
      • ? . -

4.2.

  • p143
    • 해하 .
      • ? -

    • .

    • .

  • p146
    • " . ?" . 하 " ! 풍(rich) 합할 " .
      • . 한 화. .. -

    • '한' '풍한' , .

    • ' (cut-and-paste)' . 패 .

4.3. Clock 템 : Observer


  • p147
    • (Observer) (clock tick). Universe ActionListener 통해 .
      • Tick Tick Tick Tick... Universe하. -

  • p148
    • class BadJmenuItem
      • Bad . -

    • 트 통 .

    • .
      • Naming . -

  • p149
    • 트 통 . '' .
      • . -

    • Clock Subject/Publisher .

  • p151
    • Clock GoF Singleton .

    • Clock Singleton . '' Singleton .
      • Java '' Singleton Singleton 클 . ! -

4.3.1. Observer : Publisher 클


  • p154
    • 통해 Observer , .

    • , . 하 , , .
      • 포함하 , . -
        • ?; -

  • p155
    • ' ' .
      • ... -

    • '' 해 fireEvent() Synchronized . subscribe() cancle() 행하 , fireEvent() . subscribers .
  • p156
    • Observer .

  • p157
    • 트 통 트 통 .

    • .

    • 3-3 Publisher 클 .
      • . -

    • Command Observer 화하 , Publisher Command .
  • p159
    • Node final Node '(immutable)' . Node .
      • ! -

  • p160
    • 환 하 .
      • Trade-Off. -

  • p161
    • '' .
      • '' -

    • .


4.4. Clock 템 : Visitor 패

5.


  • ...! -

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:25
Processing time 0.1776 sec