图书介绍

面向对象软件构造 英文版PDF|Epub|txt|kindle电子书版本网盘下载

面向对象软件构造 英文版
  • (美)迈尔(Meyer,B.)著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111111877
  • 出版时间:2003
  • 标注页数:1254页
  • 文件大小:63MB
  • 文件页数:1285页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

面向对象软件构造 英文版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

PART A:THE ISSUES1

Chapter 1:Software quality3

1.1 EXTERNAL AND INTERNAL FACTORS3

1.2 A REVIEW OF EXTERNAL FACTORS4

1.3 ABOUT SOFTWARE MAINTENANCE17

1.4 KEY CONCEPTS INTRODUCED IN THIS CHAPTER19

1.5 BIBLIOGRAPHICAL NOTES19

Chapter 2: Criteria of object orientation21

2.1 ON THE CRITERIA21

2.2 METHOD AND LANGUAGE22

2.3 IMPLEMENTATION AND ENVIRONMENT31

2.4 LIBRARIES33

2.5 FOR MORE SNEAK PREVIEW34

2.6 BIBLIOGRAPHICAL NOTES AND OBJECT RESOURCES34

PART B: THE ROAD TO OBJECT ORIENTATION37

Chapter 3:Modularity39

3.1 FIVE CRITERIA40

3.2 FIVE RULES46

3.3 FIVE PRINCIPLES53

3.4 KEY CONCEPTS INTRODUCED IN THIS CHAPTER64

3.5 BIBLIOGRAPHICAL NOTES64

EXERCISES65

Chapter 4:Approaches to reusability67

4.1 THE GOALS OF REUSABILITY68

4.2 WHAT SHOULD WE REUSE?70

4.3 REPETITION IN SOFTWARE DEVELOPMENT74

4.4 NON-TECHNICAL OBSTACLES74

4.5 THE TECHNICAL PROBLEM81

4.6 FIVE REQUIREMENTS ON MODULE STRUCTURES83

4.7 TRADITIONAL MODULAR STRUCTURES89

4.8 OVERLOADING AND GENERICITY93

4.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER98

4.10 BIBLIOGRAPHICAL NOTES99

Chapter 5:Towards object technology101

5.1 THE INGREDIENTS OF COMPUTATION101

5.2 FUNCTIONAL DECOMPOSITION103

5.3 OBJECT-BASED DECOMPOSITION114

5.4 OBJECT-ORIENTED SOFTWARE CONSTRUCTION116

5.5 ISSUES117

5.6 KEY CONCEPTS INTRODUCED IN THIS CHAPTER119

5.7 BIBLIOGRAPHICAL NOTES119

Chapter 6:Abstract data types121

6.1 CRITERIA122

6.2 IMPLEMENTATION VARIATIONS122

6.3 TOWARDS AN ABSTRACT VIEW OF OBJECTS126

6.4 FORMALIZING THE SPECIFICATION129

6.5 FROM ABSTRACT DATA TYPES TO CLASSES142

6.6 BEYOND SOFTWARE147

6.7 SUPPLEMENTARY TOPICS148

6.8 KEY CONCEPTS INTRODUCED IN THIS CHARTER159

6.9 BIBLIOGRAPHICAL NOTES160

EXERCISES161

PART C:OBJECT-ORIENTED TECHNIQUES163

Chapter 7:The static structure:classes165

7.1 OBJECTS ARE NOT THE SUBJECT165

7.2 AVOIDING THE STANDARD CONFUSION166

7.3 THE ROLE OF CLASSES169

7.4 A UNIFORM TYPE SYSTEM171

7.5 A SIMPLE CLASS172

7.6 BASIC CONVENTIONS177

7.7 THE OBJECT-ORIENTED STYLE OF COMPUTATION181

7.8 SELECTIVE EXPORTS AND INFORMATION HIDING191

7.9 PUTTING EVERYTHING TOGETHER194

7.10 DISCUSSION203

7.11 KEY CONCEPTS INTRODUCED IN THIS CHAPTER213

7.12 BIBLIOGRAPHICAL NOTES215

EXERCISES216

Chapter 8:The run-time Structure:objects217

8.1 OBJECTS218

8.2 OBJECTS AS A MODELING TOOL228

8.3 MANIPULATING OBJECTS AND REFERENCES231

8.4 CREATION PROCEDURES236

8.5 MORE ON REFERENCES240

8.6 OPERATIONS ON REFERENCES242

8.7 COMPOSITE OBJECTS AND EXPANDED TYPES254

8.8 ATTACHMENT:REFERENCE AND VALUE SEMANTICS261

8.9 DEALING WITH REFERENCES:BENEFTTS AND DANGERS265

8.10 DISCUSSION270

8.11 KEY CONCEPTS INTRODUCED IN THIS CHAPTER276

8.12 BIBLIOGRAPHICAL NOTES277

EXERCISES277

Chapter 9:Memory management279

9.1 WHAT HAPPENS TO OBJECTS279

9.2 THE CASUAL APPROACH291

9.3 RECLAIMING MEMORY:THE ISSUES293

9.4 PROGRAMMER-CONTROLLED DEALLOCATION294

9.5 THE COMPONENT-LEVEL APPROACH297

9.6 AUTOMATIC MEMORY MANAGEMENT301

9.7 REFERENCE COUNTING302

9.8 GARBAGE COLLECTION304

9.9 PRACTICAL ISSUES OF GARBAGE COLLECTION309

9.10 AN ENVIRONMENT WITH MEMORY MANAGEMENT312

9.11 KEY CONCEPTS INTRODUCED IN THIS CHAPTER315

9.12 BIBLIOGRAPHICAL NOTES315

EXERCISES316

Chapter 10:Genericity317

10.1 HORIZONTAL AND VERTICAL TYPE GENERALIZATION317

10.2 THE NEED FOR TYPE PARAMETERIZATION318

10.3 GENERIC CLASSES320

10.4 ARRAYS325

10.5 THE COST OF GENERICITY328

10.6 DISCUSSION:NOT DONE YET329

10.7 KEY CONCEPTS INTRODUCED IN THIS CHAPTER329

10.8 BIBLIOGRAPHICAL NOTES330

EXERCISES330

Chapter 11:Design by Contract:building reliable software331

11.1 BASIC RELIABILITY MECHANISMS332

11.2 ABOUT SOFTWARE CORRECTNESS333

11.3 EXPRESSING A SPECIFICATION334

11.4 INTRODUCING ASSERTIONS INTO SOFTWARE TEXTS337

11.5 PRECONDITIONS AND POSTCONDITIONS338

11.6 CONTRACTING FOR SOFTWARE RELIABILITY341

11.7 WORKING WITH ASSERTIONS348

11.8 CLASS INVARIANTS363

11.9 WHEN IS A CLASS CORRECT?369

11.10 THE ADT CONNECTION373

11.11 AN ASSERTION INSTRUCTION378

11.12 LOOP INVARIANTS AND VARIANTS380

11.13 USING ASSERTIONS389

11.14 DISCUSSION398

11.15 KEY CONCEPTS INTRODUCED IN THIS CHAPTER406

11.16 BIBLIOGRAPHICAL NOTES407

EXERCISES408

POSTSCRIPT:THE ARIANE 5 FAILURE410

12.1 BASIC CONCEPTS OF EXCEPTION HANDLING411

Chapter 12:When the contract is broken:exception handling411

12.2 HANDLING EXCEPTIONS414

12.3 AN EXCEPTION MECHANISM419

12.4 EXCEPTION HANDLING EXAMPLES422

12.5 THE TASK OF A RESCUE CLAUSE427

12.6 ADVANCED EXCEPTION HANDLING431

12.7 DISCUSSION435

12.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER437

12.9 BIBLIOGRAPHICAL NOTES438

EXERCISES438

13.1 INTERFACING WITH NON-O-O SOFTWARE439

Chapter 13:Supporting mechanisms439

13.2 ARGUMENT PASSING444

13.3 INSTRUCTIONS447

13.4 EXPRESSIONS452

13.5 STRINGS456

13.6 INPUT AND OUTPUT457

13.7 LEXICAL CONVENTIONS457

13.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER458

EXERCISES458

Chapter 14:Introduction to inheritance459

14.1 POLYGONS AND RECTANGLES460

14.2 POLYMORPHISM467

14.3 TYPING FOR INHERITANCE472

14.4 DYNAMIC BINDING480

14.5 DEFERRED FEATURES AND CLASSES482

14.6 REDECLARATION TECHNIQUES491

14.7 THE MEANING OF INHERITANCE494

14.8 THE ROLE OF DEFERRED CLASSES500

14.9 DISCUSSION507

14.10 KEY CONCEPTS INTRODUCED IN THIS CHAPTER516

14.11 BIBLIOGRAPHICAL NOTES517

EXERCISES517

Chapter 15:Multiple inheritance519

15.1 EXAMPLES OF MULTIPLE INHERITANCE519

15.2 FEATURE RENAMING535

15.3 FLATTENING THE STRUCTURE541

15.4 REPEATED INHERITANCE543

15.5 DISCUSSION563

15.6 KEY CONCEPTS INTRODUCED IN THIS CHAPTER566

15.7 BIBLIOGRAPHICAL NOTES567

EXERCISES567

Chapter 16:Inheritance techniques569

16.1 INHERITANCE AND ASSERTIONS569

16.2 THE GLOBAL INHERITANCE STRUCTURE580

16.3 FROZEN FEATURES583

16.4 CONSTRAINED GENERICITY585

16.5 ASSIGNMENT ATTEMPT591

16.6 TYPING AND REDECLARATION595

16.7 ANCHORED DECLARATION598

16.8 INHERITANCE AND INFORMATION HIDING605

16.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER609

16.10 BIBLIOGRAPHICAL NOTE610

EXERCISES610

Chapter 17:Typing611

17.1 THE TYPING PROBLEM611

17.2 STATIC TYPING:WHY AND HOW615

17.3 COVARIANCE AND DESCENDANT HIDING621

17.4 FIRST APPROACHES TO SYSTEM VALIDITY628

17.5 RELYING ON ANCHORED TYPES630

17.6 GLOBAL ANALYSIS633

17.7 BEWARE OF POLYMORPHIC CATCALLS!636

17.8 AN ASSESSMENT639

17.9 THE PERFECT FIT640

17.10 KEY CONCEPTS STUDIED IN THIS CHAPTER641

17.11 BIBLIOGRAPHICAL NOTES641

Chapter 18:Global objects and constants643

18.1 CONSTANTS OF BASIC TYPES643

18.2 USE OF CONSTANTS645

18.3 CONSTANTS OF CLASS TYPES646

18.4 APPLICATIONS OF ONCE ROUTINES648

18.5 CONSTANTS OF STRING TYPE653

18.6 UNIQUE VALUES654

18.7 DISCUSSION656

18.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER659

18.9 BIBLIOGRAPHICAL NOTES660

EXERCISES660

PART D:OBJECT-ORIENTED METHODOLOGY:APPLYING THE METHOD WELL661

Chapter 19:On methodology663

19.1 SOFTWARE METHODOLOGY:WHY AND WHAT663

19.2 DEVISING GOOD RULES:ADVICE TO THE ADVISORS664

19.3 ON USING METAPHORS671

19.4 THE IMPORTANCE OF BEING HUMBLE673

19.5 BIBLIOGRAPHICAL NOTES674

EXERCISES674

20.1 MULTI-PANEL SYSTEMS675

Chapter 20:Design pattern:multi-panel interactive systems675

20.2 A SIMPLE MINDED ATTEMPT677

20.3 A FUNCTIONAL,TOP-DOWN SOLUTION678

20.4 A CRITIQUE OF THE SOLUTION682

20.5 AN OBJECT-ORIENTED ARCHITECTURE684

20.6 DISCUSSION693

20.7 BIBLIOGRAPHICAL NOTE694

Chapter 21:Inheritance case study:“undo”in an interactive system695

21.1 PERSEVERARE DIABOLICUM695

21.2 FINDING THE ABSTRACTIONS699

21.3 MULTI-LEVEL UNDO-REDO704

21.4 IMPLEMENTATION ASPECTS707

21.5 A USER INTERFACE FOR UNDOING AND REDOING711

21.6 DISCUSSION712

21.7 BIBLIOGRAPHICAL NOTES715

EXERCISES715

Chapter 22:How to find the classes719

22.1 STUDYING A REQUIREMENTS DOCUMENT720

22.2 DANGER SIGNALS726

22.3 GENERAL HEURISTICS FOR FINDING CLASSES731

22.4 OTHER SOURCES OF CLASSES735

22.5 REUSE740

22.6 THE METHOD FOR OBTAINING CLASSES741

22.7 KEY CONCEPTS INTRODUCED IN THIS CHAPTER743

22.8 BIBLIOGRAPHICAL NOTES744

Chapter 23:Principles of class design747

23.1 SIDE EFFECTS IN FUNCTIONS748

23.2 HOW MANY ARGUMENTS FOR A FEATURE?764

23.3 CLASS SIZE:THE SHOPPING LIST APPROACH770

23.4 ACTIVE DATA STRUCTURES774

23.5 SELECTIVE EXPORTS796

23.6 DEALING WITH ABNORMAL CASES797

23.7 CLASS EVOLUTION:THE OBSOLETE CLAUSE802

23.8 DOCUMENTING A CLASS AND A SYSTEM803

23.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER806

23.10 BIBLIOGRAPHICAL NOTES806

EXERCISES807

24.1 HOW NOT TO USE INHERITANCE809

Chapter 24:Using inheritance well809

24.2 WOULD YOU RATHER BUY OR INHERIT?812

24.3 AN APPLICATION:THE HANDLE TECHNIQUE817

24.4 TAXOMANIA820

24.5 USING INHERITANCE:A TAXONOMY OF TAXONOMY822

24.6 ONE MECHANISM,OR MORE?833

24.7 SUBTYPE INHERITANCE AND DESCENDANT HIDING835

24.8 IMPLEMENTATION INHERITANCE844

24.9 FACILITY INHERITANCE847

24.10 MULTIPLE CRITERIA AND VIEW INHERITANCE851

24.11 HOW TO DEVELOP INHERITANCE STRUCTURES858

24.12 A SUMMARY VIEW:USING INHERITANCE WELL862

24.14 BIBLIOGRAPHICAL NOTES863

24.13 KEY CONCEPTS INTRODUCED IN THIS CHARTER863

24.15 APPENDIX:A HISTORY OF TAXONOMY864

EXERCISES869

Chapter 25:Useful techniques871

25.1 DESIGN PHILOSOPHY871

25.2 CLASSES872

25.3 INHERITANCE TECHNIQUES873

Chapter 26:A sense of style875

26.1 COSMETICS MATTERS!875

26.2 CHOOSING THE RIGHT NAMES879

26.3 USING CONSTANTS884

26.4 HEADER COMMENTS AND INDEXING CLAUSES886

26.5 TEXT LAYOUT AND PRESENTATION891

26.6 FONTS900

26.7 BIBLIOGRAPHICAL NOTES901

EXERCISES902

Chapter 27:Object-oriented analysis903

27.1 THE GOALS OF ANALYSIS903

27.2 THE CHANGING NATURE OF ANALYSIS906

27.3 THE CONTRIBUTION OF OBJECT TECHNOLOGY907

27.4 PROGRAMMING A TV STATION907

27.5 EXPRESSING THE ANALYSIS:MULTIPLE VIEWS914

27.6 ANALYSIS METHODS917

27.7 THE BUSINESS OBJECT NOTATION919

27.8 BIBLIOGRAPHY922

Chapter 28:The software construction process923

28.1 CLUSTERS923

28.2 CONCURRENT ENGINEERING924

28.3 STEPS AND TASKS926

28.4 THE CLUSTER MODEL OF THE SOFTWARE LIFECYCLE926

28.5 GENERALIZATION928

28.6 SEAMLESSNESS AND REVERSIBILITY930

28.7 WITH US,EVERYTHING IS THE FACE933

28.8 KEY CONCEPTS COVERED IN THIS CHAPTER934

28.9 BIBLIOGRAPHICAL NOTES934

29.1 INDUSTRIAL TRAINING935

Chapter 29:Teaching the method935

29.2 INTRODUCTORY COURSES937

29.3 OTHER COURSES941

29.4 TOWARDS A NEW SOFTWARE PEDAGOGY942

29.5 AN OBJECT-ORIENTED PLAN946

29.6 KEY CONCEPTS STUDIED IN THIS CHAPTER948

29.7 BIBLIOGRAPHICAL NOTES948

PART E:ADVANCED TOPICS949

Chapter 30: Concurrency,distribution,client-server and the Internet951

30.1 A SNEAK PREVIEW951

30.2 THE RISE OF CONCURRENCY953

30.3 FROM PROCESSES TO OBJECTS956

30.4 INTRODUCING CONCURRENT EXECUTION964

30.5 SYNCHRONIZATION ISSUES977

30.6 ACCESSING SEPARATE OBJECTS982

30.7 WAIT CONDITIONS990

30.8 REQUESTING SPECIAL SERVICE998

30.9 EXAMPLES1003

30.10 TOWARDS A PROOF RULE1022

30.11 A SUMMARY OF THE MECHANISM1025

30.12 DISCUSSION1028

30.13 KEY CONCEPTS INTRODUCED IN THIS CHAPTER1032

30.14 BIBLIOGRAPHICAL NOTES1033

EXERCISES1035

31.1 PERSISTENCE FROM THE LANGUAGE1037

Chapter 31:Object persistence and databases1037

31.2 BEYOND PERSISTENCE CLOSURE1039

31.3 SCHEMA EVOLUTION1041

31.4 FROM PERSISTENCE TO DATABASES1047

31.5 OBJECT-RELATIONAL INTEROPERABILITY1048

31.6 OBJECT-ORIENTED DATABASE FUNDAMENTALS1050

31.7 O-O DATABASE SYSTEMS:EXAMPLES1055

31.8 DISCUSSION:BEYOND O-O DATABASES1058

31.9 KEY CONCEPTS STUDIED IN THIS CHAPTER1060

31.10 BIBLIOGRAPHICAL NOTES1061

EXERCISES1062

Chapter 32:Some O-O techniques for graphical interactive applications1063

32.1 NEEDED TOOLS1064

32.2 PORTABILITY AND PLATFORM ADAPTATION1066

32.3 GRAPHICAL ABSTRACTIONS1068

32.4 INTERACTION MECHANISMS1071

32.5 HANDLING THE EVENTS1072

32.6 A MATHEMATICAL MODEL1076

32.7 BIBLIOGRAPHICAL NOTES1076

PART F:APPLYING THE METHOD IN VARIOUS LANGUAGES AND ENVIRONMENTS1077

Chapter 33:O-O programming and Ada1079

33.1 A BIT OF CONTEXT1079

33.2 PACKAGES1081

33.3 A STACK IMPLEMENTATION1081

33.4 HIDING THE REPRESENTATION:THE PRIVATE STORY1085

33.5 EXCEPTIONS1088

33.6 TASKS1091

33.7 FROM ADA TO ADA 951092

33.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER1097

33.9 BIBLIOGRAPHICAL NOTES1097

EXERCISES1098

Chapter 34:Emulating object technology in non-O-O environments1099

34.1 LEVELS OF LANGUAGE SUPPORT1099

34.2 OBJECT-ORIENTED PROGRAMMING IN PASCAL?1100

34.3 FORTRAN1102

34.4 OBJECT-ORIENTED PROGRAMMING AND C1106

EXERCISES1112

34.5 BIBLIOGRAPHICAL NOTES1112

Chapter 35:Simula to Java and beyond:major O-O languages and environments1113

35.1 SIMULA1113

35.2 SMALLTALK1126

35.3 LISP EXTENSIONS1130

35.4 C EXTENSIONS1131

35.5 JAVA1136

35.6 OTHER O-O LANGUAGES1137

35.7 BIBLIOGRAPHICAL NOTES1138

EXERCISES1139

PART G:DOING IT RIGHT1141

36.1 COMPONENTS1143

Chapter 36:An object-oriented environment1143

36.2 THE LANGUAGE1144

36.3 THE COMPILATION TECHNOLOGY1144

36.4 TOOLS1148

36.5 LIBRARIES1150

36.6 INTERFACE MECHANISMS1152

36.7 BIBLIOGRAPHICAL NOTES1160

Epilogue,In Full Frankness Exposing the Language1161

PART H:APPENDICES1163

Appendix A: Extracts from the Base libraries1165

Appendix B:Genericity versus inheritance1167

B.1 GENERICITY1168

B.2 INHERITANCE1173

B.3 EMULATING INHERITANCE WITH GENERICITY1175

B.4 EMULATING GENERICITY WITH INHERITANCE1176

B.5 COMBINING GENERICITY AND INHERITANCE1184

B.6 KEY CONCEPTS INTRODUCED IN THIS APPENDIX1187

B.7 BIBLIOGRAPHICAL NOTES1188

EXERCISES1188

Appendix C:Principles,rules,precepts and definitions1189

Appendix D:A glossary of object technology1193

Appendix E:Bibliography1203

E.1 WORKS BY OTHER AUTHORS1203

E.2 WORKS BY THE AUTHOR OF THE PRESENT BOOK1221

Index1225

热门推荐