.,,.,,.,...,...,,.!,!.,,......,..
18..,....,.....,,......,,.?. 6 (1, 2, 3, 4, 5, 6 ).. 1,,.,. 2,. 3,
19. 4,,. 5,. 6,,. 7 10.. 7,. 8,,,. 9,,. 10, 3 (, ),...,,.,. Instantiations Digitalk...,. Smalltalk, Instantiations. Addison Wesley Paul Becker. Paul.
20 Rebecca., Alan McKean. McKean.,,. McKean,.,. Dave Squire(, Tektronix ).., Smalltalk,.. Dave. Smalltalk Report Sharon Holstein.,. John Schwartz. John.,.,, Allen Wirfs-Brock. Allen,. Alan. 1970 Don Koberg Jim Bagnell Universal Traveler...,,,, R. Buckminster Fuller.. Murshida Vera Corda..
21,,, Richard Britz. karass. Oregon Sarah Douglas Art Farley Smalltalk., Instantiations Rebecca Wirfs-Brock.,. Walter McKean Marjorie McKean... Brenda Herold Jesse Vasilinda.,.
Chapter 1 Alan Kay.,., (monolithic). 1 ),.. Kay..,.,,.,.,.,.. 2 ).,.
28..,,.,,. 1)2)?.???..,.. ([ 1.1] )..?.,,,,..,..,. 1) (monolithic), (level),. 2) DNA.
Chapter 1 29 [ 1.1] (encapsulation)..,.,.,,.,,,.,,,..,,.,. (complexity) (role)..
30 (application) = (object) = (role) = (responsibility) = (collaboration) = ( ) (contract) =.,,....,,.,. - Robert Pirsig..., (context).., DHL, FedEx, UPS, Post, Airborne.,. (requirement).?, (book rate) 3)??,??.. 3).
Chapter 1 31?..,?,.,.,.. (role stereotype). (stereotype).,.... (information holder),. (structurer),. (service provider).,. (coordinator). (controller),. (interfacer).
32,,, (formatting),,.,..?. 2.,.,. 2,., 2. 4).,..,?. (transmission).,.?..,....,,.,. 4).,,.
Chapter 1 33.,..,,... (iterative) (incremental)....,..,.. [ 1.2], (community)..,...,. (blending stereotype),,.,,. IQ.
34 [ 1.2].. (protocol), (convention).,,,,., (contract).,..????.. (helper)
Chapter 1 35.,,.!!! - -...,,,..,,,. (contract).,. ( (conditions-of-use guarantee)) ( (aftereffect guarantee))..,.?? (method)!,.,.
36 (fine print).!?!..,..,.,.. (domain)..,,,.,,,,,,.,.,.,,.,,.,,.
Chapter 1 37,,. ([ 1.3] )., ( ), / ( ), ( ). (, ),. [ 1.3],.,. (logic). (semantics).,..,,,,.,
38..,,. 5),,.?!,,,.. (filter).,,,.,,,....,.,. 6),.. 5),. 6), public static void main().
Chapter 1 39,,.,.., (formatter), (converter) (filter),,, ([ 1.4] ).,. [ 1.4],,..,,,.,.,,,,, (delegation).. 7)
40,, (pe rsistent store),.,,,. 7 ),.. 8).. 5..,..,....?,.,.....,. 7). 8).
Chapter 1 41 (impleme ntation),.?....,!... (Class).,, (Instance).,,.. 9) (Description)...,., (Method).,,..,.. 9),,.,.
42....,,.,.,, ([ 1.5] ).,,. 10) (, ). 11) [ 1.5]. 10),. 11)..
Chapter 1 43 2. (Factory)......,,. 12). (Building Block). (Attribute)., 2. (Re lation).,..,., [ 1.6]. 13) 12). 13),,.
44 [ 1.6].,,.,. (Private)... 14),, (Helpe r). 2. (Community). 15).., 14). C++ private. 15),.
Chapter 1 45., (Reference).,. (Collaboration). " 3. (State), (Be havior). (Encapsulation)." - Trygve Ree nskaug 2 (Relation), (Composition), (Inheritance).,..,,.,.,.....,....., 2. 16) 16),.
46.,., (Static). (Superclass) (Subclass).,.,,...,,. 17).,,... (use). (ass ume).,., (Abstract Class),. (Peter Principle).. 17),.
Chapter 1 47,.,.. (Object Neighborhood).,...,,.,.,.,. [ 1.7].,.,,..,., (Public), (Gatekeeper)..,.
48 [ 1.7].. (Component).,.,.,.., (Property).,.,..
Chapter 1 49.,..? (Pattern)..,.,???. Erich Gamma Design Patterns(Addison-Wesley) 1994.,..
50.,........,..,.......,. dual dispatch,,,. 3 9 ([ 1.8] ).
Chapter 1 51 [ 1.8] UML. Case switch... / / ' ' publ i c bool ea n beat s (GameObj e ct obj e ct ) { } i f (obj e ct. get Cl a s s. get Name (). equa l s ( "Rock") { } r e s ul t = f a l s e ; e l s e i f (obj e ct. get Cl a s s. get Name (). equa l s ( " Pa pe r ") { } r e s ul t = f a l s e ; e l s e i f (obj e ct. get Cl a s s. get Name (). equa l s ( "Sci s s o r s ") { r e s ul t = t r ue ; } r et ur n r e s ul t ;
52,.,,, 3., 3. [ 1.9] UML.. [ 1.9] dual dispatch.. GameObject, Rock Paper. publ i c i nt e r f a ce GameObj e ct { publ i c bool ea n beat s (GameObj e ct o) ; publ i c bool ea n beat s Rock (GameObj e ct o) ; publ i c bool ea n beat s Pa pe r (GameObj e ct o) ;
Chapter 1 53 } publ i c bool ea n beat s Sci s s o r s (GameObj e ct o) ; publ i c cl a s s Rock i mpl eme nt s GameObj e ct { } publ i c bool ea n beat s (GameObj e ct o) ; } / / ' '. ' '. r et ur n o. beat s Rock () ; publ i c beat s Rock () { } / / f a l s e t r ue. r et ur n f a l s e ; publ i c beat s Pa pe r () { } / / ' ' ' '. r et ur n f a l s e ; publ i c beat s Sci s s o r s () { } / / ' ' ' '. r et ur n t r ue ; publ i c cl a s s Pa pe r i mpl eme nt s GameObj e ct { publ i c bool ea n beat s (GameObj e ct o) { } / / ' '. ' '. r et ur n o. beat s Pa pe r () ; publ i c beat s Rock () { } / / ' ' ' '. r et ur n t r ue ; publ i c beat s Pa pe r () { } / / f a l s e t r ue. r et ur n f a l s e ; publ i c beat s Sci s s o r s () {
54 } } / / ' ' ' '. r et ur n f a l s e ; GameObject GameObject, GameObject. d ua l d isp a tc h. 18) : dual dispatch :. :. : (Procedural Language) Case Switch. 18 ),,...,. :, ( ).,.., ( )..,. 18), C.
Chapter 1 55 : dual dis patch Case Switch..,,.,.,,., Case.. dual dispatch.,,..., dual dispatch. Fra mewo rks.,.,..,,.,.,,,,., ([ 1.10] ).,..
56 [ 1.10].. GUI. -80. IDE(, Integrated Development Environment),. Microsoft.NET., (Concurrency),..
Chapter 1 57,.... 19),.. 20)... 21).,.,.,. (Hook),. (Inversion of Control).,.,.,. 22).,,. 23).. 19),. 20) ASP. NET. ASP. 21) printf,,., printf. 22),,..,. 23).
58.,.!...,,,,.....,....,,,... -,..,,.
Chapter 1 59...,.,.,,. [ 1.11]. [ 1.11]...
60. (Usability) (Availability) (Security) (Performance) (Maintainability) (Flexibility) (Portability),,.,,....., (, )., ( ),.. 24),,., ([ 1.12] 24).
Chapter 1 61 ).,,..,.,. [ 1.12].,..,.,..,.?.
62 :,. [ 1.13]. [ 1.13].... [ 1.14],.,..,...
Chapter 1 63 [ 1.14] (Pool). :....,..,.,...,.,,.
64,,,... [ 1.15],. [ 1.15]. ( ).,,..
Chapter 1 65.,, (Structurer),, (Coordinator), (Controller), (Interfacer).?? [ 1.16]. [ 1.16]...., ( ). ( ).
66,.,...,,.,.,.,, CRC.,.,. UML(Unified Modeling Language). UML,,,,.., UML. (Symantic)., UML.,... CRC Ward Cunningham Kent Beck 1998 (Class), (Responsibility) (Collaboration). (Candidate),.
Chapter 1 67,.,.,,,.,,. 3,.,,,,,.,..,,... Timothy Budd An Introduction to Object Oriented Programming (Addison- Wesley, 2001).,. (, ). 3, (smalltalk),, C#, C++, (Oberon). Trygve Reenskaug - - (Model-View-Controller),. Per Wold Odd Arid Lehne Working With Objects (Manning, 1995). Trygve,.
68 Erich Gamma, Richard Helm, Ralph Johnson John Vlissides Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley, 1995).,,., Gamma. Design Patterns Java Workbook (Addison-Wesley, 2002). 25) Steve Metsker Design Patterns. UML Grady Booch, James Rumbauge Ivar Jacobson The UML Language User Guide (Addison-Wesley, 1999).,. 26) 25) (89-8054-509-6, ). 26) UML 2nd Edition(89-8054-470-7, ) UML. UML.