Object oriented reengineering patterns:
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Amsterdam [u.a.]
Morgan Kaufmann
2003
|
Schlagworte: | |
Online-Zugang: | Table of contents Inhaltsverzeichnis |
Beschreibung: | xxi, 282 p. ill. : 24 cm |
ISBN: | 1558606394 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV014700848 | ||
003 | DE-604 | ||
005 | 20030820 | ||
007 | t | ||
008 | 020903s2003 xxua||| |||| 00||| eng d | ||
010 | |a 2002104269 | ||
020 | |a 1558606394 |9 1-55860-639-4 | ||
035 | |a (OCoLC)50189376 | ||
035 | |a (DE-599)BVBBV014700848 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-473 |a DE-703 |a DE-522 | ||
050 | 0 | |a QA76.64 | |
082 | 0 | |a 005.1/17 |2 21 | |
084 | |a ST 231 |0 (DE-625)143618: |2 rvk | ||
100 | 1 | |a Demeyer, Serge |e Verfasser |4 aut | |
245 | 1 | 0 | |a Object oriented reengineering patterns |c Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz |
246 | 1 | 3 | |a Object-oriented reengineering patterns |
264 | 1 | |a Amsterdam [u.a.] |b Morgan Kaufmann |c 2003 | |
300 | |a xxi, 282 p. |b ill. : 24 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 7 | |a Broncode |2 gtt | |
650 | 7 | |a Hergebruik |2 gtt | |
650 | 7 | |a Object-georiënteerd programmeren |2 gtt | |
650 | 7 | |a Padrões de software (projeto) |2 larpcal | |
650 | 7 | |a Programação orientada a objetos |2 larpcal | |
650 | 7 | |a Programmatuurtechniek |2 gtt | |
650 | 7 | |a Técnicas de programação |2 larpcal | |
650 | 4 | |a Object-oriented programming (Computer science) | |
650 | 4 | |a Software patterns | |
650 | 4 | |a Software reengineering | |
650 | 0 | 7 | |a Reengineering |0 (DE-588)4404560-8 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Software |0 (DE-588)4055382-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |D s |
689 | 0 | 1 | |a Reengineering |0 (DE-588)4404560-8 |D s |
689 | 0 | 2 | |a Software |0 (DE-588)4055382-6 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Ducasse, Stéphane |e Verfasser |4 aut | |
700 | 1 | |a Nierstrasz, Oscar |d 1957- |e Verfasser |0 (DE-588)121317617 |4 aut | |
856 | 4 | |u http://www.loc.gov/catdir/toc/fy032/2002104269.html |3 Table of contents | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009967901&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-009967901 |
Datensatz im Suchindex
_version_ | 1804129444183408640 |
---|---|
adam_text | Titel: Object-oriented reengineering patterns
Autor: Demeyer, Serge
Jahr: 2003
Contents
Preface
Chapter 1 Reengineering Patterns
Why Do We Reengineer?
What s Special about Objects?
The Reengineering Life Cycle
Reengineering Patterns
The Form of a Reengineering Pattern
A Map of Reengineering Patterns
XVII
1
4
5
9
11
11
PART
I Reverse Engineering
Chapter 2
Setting Direction
Forces
Overview
Pattern 2.1
Pattern 2.2
Pattern 2.3
Pattern 2.4
Pattern 2.5
Pattern 2.6
Pattern 2.7
Agree on Maxims
Appoint a Navigator
Speak to the Round Table
Most Valuable First
Fix Problems, Not Symptoms
If It Ain t Broke, Don t Fix It
Keep It Simple
15
17
17
18
18
19
20
20
23
24
24
XIII
xiv CONTENTS
Chapter 3 First Contact
Forces
Overview
What Next
Pattern 3.1
Pattern 3.2
Pattern 3.3
Chat with the Maintainers
Read All the Code in One Hour
Skim the Documentation
Pattern 3.4 Interview during Demo
Pattern 3.5 Do a Mock Installation
Chapter 4 Initial Understanding
Forces
Overview
What Next
Pattern 4.1 Analyze the Persistent Data
Pattern 4.2 Speculate about Design
Pattern 4.3 Study the Exceptional Entities
Chapter 5 Detailed Model Capture
Forces
Overview
What Next
Pattern 5.1 Tie Code and Questions
Pattern 5.2 Refactor to Understand
Pattern 5.3 Step through the Execution
Pattern 5.4 Look for the Contracts
Pattern 5.5 Learn from the Past
27
27
29
30
31
38
44
50
58
65
65
67
67
68
76
84
95
95
96
97
98
103
107
109
113
PART
II Reengineering
Chapter 6 Tests: Your Life Insurance!
Forces
Overview
Pattern 6.1 Write Tests to Enable Evolution
Pattern 6.2 Grow Your Test Base Incrementally
119
121
121
122
123
128
CONTENTS XV
Chapter 7
Pattern 6.3 Use a Testing Framework
Pattern 6.4 Test the Interface, Not the Implementation
Pattern 6.5 Record Business Rules as Tests
Pattern 6.6 Write Tests to Understand
Migration Strategies
Forces
Overview
Pattern 7.1
Pattern 7.2
Pattern 7.3
Pattern 7.4
Pattern 7.5
Pattern 7.6
Pattern 7.7
Pattern 7.8
Pattern 7.9
Chapter 8
Involve the Users
Build Confidence
Migrate Systems Incrementally
Prototype the Target Solution
Always Have a Running Version
Regression Test after Every Change
Make a Bridge to the New Town
Present the Right Interface
Distinguish Public from Published Interface
Pattern 7.10 Deprecate Obsolete Interfaces
Pattern 7.11 Conserve Familiarity
Pattern 7.12 Use Profiler before Optimizing
Detecting Duplicated Code
Forces
Overview
Pattern 8.1 Compare Code Mechanically
Pattern 8.2 Visualize Code as Dotplots
Chapter 9 Redistribute Responsibilities
Forces
Overview
Pattern 9.1 Move Behavior Close to Data
Pattern 9.2 Eliminate Navigation Code
Pattern 9.3 Split Up God Class
Chapter 10 Transform Conditionals to Polymorphism
Forces
Overview
Pattern 10.1 Transform Self Type Checks
130
136
139
142
147
147
147
149
151
153
155
157
159
160
163
164
166
168
169
173
173
174
175
180
187
187
188
190
199
208
215
215
216
217
xvi CONTENTS
Pattern 10.2 Transform Client Type Checks 225
Pattern 10.3 Factor Out State 234
Pattern 10.4 Factor Out Strategy 237
Pattern 10.5 Introduce Null Object 240
Pattern 10.6 Transform Conditionals into Registration 243
Appendix Thumbnail patterns 253
253
253
254
254
254
254
255
255
255
255
255
256
256
256
256
256
256
257
257
257
257
257
258
258
258
259
267
Thumbnail patterns
Testing Patterns
A.1 Retest Persistent Problems
A.2 Test Fuzzy Features
A3 Test Old Bugs
Refactorings
A.4 Encapsulate Field
A.5 Extract Method
A.6 Move Method
A.7 Rename Attribute
A.8 Rename Method
A.9 Replace Conditional with Poiymorphism
Design Patterns
A.10 Abstract Factory
A.11 Adapter
A.12 Facade
A.13 Factory Method
A.14 Flyweight
A.15 Null Object
A.16 Quantity
A.17 Singleton
A.18 State
A.19 State Patterns
A.20 Strategy
A.21 Template Method
A.22 Visitor
References
Index
|
any_adam_object | 1 |
author | Demeyer, Serge Ducasse, Stéphane Nierstrasz, Oscar 1957- |
author_GND | (DE-588)121317617 |
author_facet | Demeyer, Serge Ducasse, Stéphane Nierstrasz, Oscar 1957- |
author_role | aut aut aut |
author_sort | Demeyer, Serge |
author_variant | s d sd s d sd o n on |
building | Verbundindex |
bvnumber | BV014700848 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.64 |
callnumber-search | QA76.64 |
callnumber-sort | QA 276.64 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 231 |
ctrlnum | (OCoLC)50189376 (DE-599)BVBBV014700848 |
dewey-full | 005.1/17 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1/17 |
dewey-search | 005.1/17 |
dewey-sort | 15.1 217 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02292nam a2200577zc 4500</leader><controlfield tag="001">BV014700848</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20030820 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">020903s2003 xxua||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2002104269</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1558606394</subfield><subfield code="9">1-55860-639-4</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)50189376</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV014700848</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-473</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-522</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.64</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1/17</subfield><subfield code="2">21</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 231</subfield><subfield code="0">(DE-625)143618:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Demeyer, Serge</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Object oriented reengineering patterns</subfield><subfield code="c">Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">Object-oriented reengineering patterns</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Amsterdam [u.a.]</subfield><subfield code="b">Morgan Kaufmann</subfield><subfield code="c">2003</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxi, 282 p.</subfield><subfield code="b">ill. : 24 cm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Broncode</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Hergebruik</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Object-georiënteerd programmeren</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Padrões de software (projeto)</subfield><subfield code="2">larpcal</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programação orientada a objetos</subfield><subfield code="2">larpcal</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programmatuurtechniek</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Técnicas de programação</subfield><subfield code="2">larpcal</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Object-oriented programming (Computer science)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software patterns</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software reengineering</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Reengineering</subfield><subfield code="0">(DE-588)4404560-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software</subfield><subfield code="0">(DE-588)4055382-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Reengineering</subfield><subfield code="0">(DE-588)4404560-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Software</subfield><subfield code="0">(DE-588)4055382-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Ducasse, Stéphane</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Nierstrasz, Oscar</subfield><subfield code="d">1957-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)121317617</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.loc.gov/catdir/toc/fy032/2002104269.html</subfield><subfield code="3">Table of contents</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009967901&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-009967901</subfield></datafield></record></collection> |
id | DE-604.BV014700848 |
illustrated | Illustrated |
indexdate | 2024-07-09T19:05:14Z |
institution | BVB |
isbn | 1558606394 |
language | English |
lccn | 2002104269 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-009967901 |
oclc_num | 50189376 |
open_access_boolean | |
owner | DE-473 DE-BY-UBG DE-703 DE-522 |
owner_facet | DE-473 DE-BY-UBG DE-703 DE-522 |
physical | xxi, 282 p. ill. : 24 cm |
publishDate | 2003 |
publishDateSearch | 2003 |
publishDateSort | 2003 |
publisher | Morgan Kaufmann |
record_format | marc |
spelling | Demeyer, Serge Verfasser aut Object oriented reengineering patterns Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz Object-oriented reengineering patterns Amsterdam [u.a.] Morgan Kaufmann 2003 xxi, 282 p. ill. : 24 cm txt rdacontent n rdamedia nc rdacarrier Broncode gtt Hergebruik gtt Object-georiënteerd programmeren gtt Padrões de software (projeto) larpcal Programação orientada a objetos larpcal Programmatuurtechniek gtt Técnicas de programação larpcal Object-oriented programming (Computer science) Software patterns Software reengineering Reengineering (DE-588)4404560-8 gnd rswk-swf Software (DE-588)4055382-6 gnd rswk-swf Objektorientierte Programmierung (DE-588)4233947-9 gnd rswk-swf Objektorientierte Programmierung (DE-588)4233947-9 s Reengineering (DE-588)4404560-8 s Software (DE-588)4055382-6 s DE-604 Ducasse, Stéphane Verfasser aut Nierstrasz, Oscar 1957- Verfasser (DE-588)121317617 aut http://www.loc.gov/catdir/toc/fy032/2002104269.html Table of contents HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009967901&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Demeyer, Serge Ducasse, Stéphane Nierstrasz, Oscar 1957- Object oriented reengineering patterns Broncode gtt Hergebruik gtt Object-georiënteerd programmeren gtt Padrões de software (projeto) larpcal Programação orientada a objetos larpcal Programmatuurtechniek gtt Técnicas de programação larpcal Object-oriented programming (Computer science) Software patterns Software reengineering Reengineering (DE-588)4404560-8 gnd Software (DE-588)4055382-6 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd |
subject_GND | (DE-588)4404560-8 (DE-588)4055382-6 (DE-588)4233947-9 |
title | Object oriented reengineering patterns |
title_alt | Object-oriented reengineering patterns |
title_auth | Object oriented reengineering patterns |
title_exact_search | Object oriented reengineering patterns |
title_full | Object oriented reengineering patterns Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz |
title_fullStr | Object oriented reengineering patterns Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz |
title_full_unstemmed | Object oriented reengineering patterns Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz |
title_short | Object oriented reengineering patterns |
title_sort | object oriented reengineering patterns |
topic | Broncode gtt Hergebruik gtt Object-georiënteerd programmeren gtt Padrões de software (projeto) larpcal Programação orientada a objetos larpcal Programmatuurtechniek gtt Técnicas de programação larpcal Object-oriented programming (Computer science) Software patterns Software reengineering Reengineering (DE-588)4404560-8 gnd Software (DE-588)4055382-6 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd |
topic_facet | Broncode Hergebruik Object-georiënteerd programmeren Padrões de software (projeto) Programação orientada a objetos Programmatuurtechniek Técnicas de programação Object-oriented programming (Computer science) Software patterns Software reengineering Reengineering Software Objektorientierte Programmierung |
url | http://www.loc.gov/catdir/toc/fy032/2002104269.html http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009967901&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT demeyerserge objectorientedreengineeringpatterns AT ducassestephane objectorientedreengineeringpatterns AT nierstraszoscar objectorientedreengineeringpatterns |