ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Program Development in Java: Abstraction, Specification, and Object-Oriented Design

دانلود کتاب توسعه برنامه در جاوا: انتزاع ، مشخصات و طراحی شی گرا

Program Development in Java: Abstraction, Specification, and Object-Oriented Design

مشخصات کتاب

Program Development in Java: Abstraction, Specification, and Object-Oriented Design

دسته بندی: برنامه نویسی: زبان های برنامه نویسی
ویرایش: 1 
نویسندگان:   
سری:  
ISBN (شابک) : 0201657686, 9780201657685 
ناشر: Addison-Wesley Professional 
سال نشر: 2000 
تعداد صفحات: 226 
زبان: English  
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 24 مگابایت 

قیمت کتاب (تومان) : 32,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 15


در صورت تبدیل فایل کتاب Program Development in Java: Abstraction, Specification, and Object-Oriented Design به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب توسعه برنامه در جاوا: انتزاع ، مشخصات و طراحی شی گرا نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب توسعه برنامه در جاوا: انتزاع ، مشخصات و طراحی شی گرا

این کتاب که توسط یک متخصص مشهور جهان در روش‌شناسی برنامه‌نویسی و برنده جایزه تورینگ در سال 2008 نوشته شده است، نحوه ساخت برنامه‌های با کیفیت تولید را نشان می‌دهد - برنامه‌هایی که قابل اعتماد، نگهداری آسان و تغییر سریع هستند. تاکید آن بر ساخت برنامه مدولار است: چگونه ماژول ها را به درستی دریافت کنیم و چگونه یک برنامه را به عنوان مجموعه ای از ماژول ها سازماندهی کنیم. این کتاب روشی موثر برای هر یک از برنامه نویسان، که ممکن است در حال نوشتن یک برنامه کوچک یا یک ماژول واحد در یک برنامه بزرگتر باشد، ارائه می دهد. یا یک مهندس نرم افزار، که ممکن است بخشی از یک تیم در حال توسعه یک برنامه پیچیده متشکل از بسیاری از ماژول ها باشد. هر دو مخاطب از این متدولوژی، پایه محکمی برای طراحی برنامه شی گرا و توسعه نرم افزار مبتنی بر مؤلفه به دست خواهند آورد. از آنجایی که هر ماژول در یک برنامه با یک انتزاع مطابقت دارد، مانند مجموعه‌ای از اسناد یا روال جستجوی مجموعه برای اسناد مورد علاقه، این کتاب ابتدا انواع انتزاع‌ها را که برای برنامه‌نویسان مفیدتر است توضیح می‌دهد: رویه‌ها. تکرار انتزاعات; و مهمتر از همه، انتزاع داده ها. در واقع، نویسنده انتزاع داده ها را به عنوان پارادایم مرکزی در طراحی و اجرای برنامه شی گرا می داند. نویسنده همچنین با مثال‌های متعدد نشان می‌دهد که چگونه می‌توان مشخصات غیررسمی را ایجاد کرد که این انتزاع‌ها را تعریف می‌کنند - مشخصاتی که آنچه را که ماژول‌ها انجام می‌دهند توصیف می‌کنند - و سپس نحوه پیاده‌سازی ماژول‌ها را به گونه‌ای بحث می‌کند که آن‌ها کاری را که قرار است با عملکرد قابل قبول انجام دهند، انجام دهند. . سایر موضوعات مورد بحث عبارتند از: کپسول‌سازی و نیاز به یک پیاده‌سازی برای ارائه رفتار تعریف‌شده توسط مشخصات، مبادله بین سادگی و تکنیک‌های عملکرد برای کمک به خوانندگان کد برای درک و استدلال درباره آن، تمرکز بر ویژگی‌هایی مانند تغییرناپذیر تکرار و توابع انتزاعی نوع سلسله مراتب و استفاده از آن در تعریف خانواده‌های انتزاع داده‌های مرتبط اشکال‌زدایی، آزمایش و تحلیل نیازمندی‌ها طراحی برنامه به‌عنوان یک فرآیند از بالا به پایین، تکرار شونده و الگوهای طراحی زبان برنامه‌نویسی جاوا برای مثال‌های کتاب استفاده می‌شود. با این حال، تکنیک های ارائه شده مستقل از زبان هستند، و مقدمه ای بر مفاهیم کلیدی جاوا برای برنامه نویسانی که ممکن است با این زبان آشنایی نداشته باشند گنجانده شده است.


توضیحاتی درمورد کتاب به خارجی

Written by a world-renowned expert on programming methodology, and the winner of the 2008 Turing Award, this book shows how to build production-quality programs--programs that are reliable, easy to maintain, and quick to modify. Its emphasis is on modular program construction: how to get the modules right and how to organize a program as a collection of modules. The book presents a methodology effective for either an individual programmer, who may be writing a small program or a single module in a larger one; or a software engineer, who may be part of a team developing a complex program comprised of many modules. Both audiences will acquire a solid foundation for object-oriented program design and component-based software development from this methodology. Because each module in a program corresponds to an abstraction, such as a collection of documents or a routine to search the collection for documents of interest, the book first explains the kinds of abstractions most useful to programmers: procedures; iteration abstractions; and, most critically, data abstractions. Indeed, the author treats data abstraction as the central paradigm in object-oriented program design and implementation. The author also shows, with numerous examples, how to develop informal specifications that define these abstractions--specifications that describe what the modules do--and then discusses how to implement the modules so that they do what they are supposed to do with acceptable performance. Other topics discussed include: Encapsulation and the need for an implementation to provide the behavior defined by the specification Tradeoffs between simplicity and performance Techniques to help readers of code understand and reason about it, focusing on such properties as rep invariants and abstraction functions Type hierarchy and its use in defining families of related data abstractions Debugging, testing, and requirements analysis Program design as a top-down, iterative process, and design patterns The Java programming language is used for the book's examples. However, the techniques presented are language independent, and an introduction to key Java concepts is included for programmers who may not be familiar with the language.



فهرست مطالب

Contents......Page 8
Preface......Page 16
Acknowledgments......Page 20
1 Introduction......Page 22
1.1 Decomposition and Abstraction......Page 23
1.2 Abstraction......Page 25
1.2.1 Abstraction by Parameterization......Page 28
1.2.2 Abstraction by Specification......Page 29
1.2.3 Kinds of Abstractions......Page 31
1.3 The Remainder of the Book......Page 33
Exercises......Page 34
2.1 Program Structure......Page 36
2.2 Packages......Page 38
2.3 Objects and Variables......Page 39
2.3.1 Mutability......Page 42
2.3.2 Method Call Semantics......Page 43
2.4.1 Type Hierarchy......Page 45
2.4.2 Conversions and Overloading......Page 48
2.5 Dispatching......Page 50
2.6.1 Primitive Object Types......Page 51
2.6.2 Vectors......Page 52
2.7 Stream Input/Output......Page 53
2.8 Java Applications......Page 54
Exercises......Page 56
3 Procedural Abstraction......Page 60
3.1 The Benefits of Abstraction......Page 61
3.2 Specifications......Page 63
3.3 Specifications of Procedural Abstractions......Page 64
3.4 Implementing Procedures......Page 68
3.5 Designing Procedural Abstractions......Page 71
3.6 Summary......Page 76
Exercises......Page 77
4 Exceptions......Page 78
4.1 Specifications......Page 80
4.2.1 Exception Types......Page 82
4.2.2 Defining Exception Types......Page 83
4.2.3 Throwing Exceptions......Page 85
4.2.4 Handling Exceptions......Page 86
4.2.5 Coping with Unchecked Exceptions......Page 87
4.3.1 Reflecting and Masking......Page 88
4.4 Design Issues......Page 89
4.4.2 Checked versus Unchecked Exceptions......Page 91
4.5 Defensive Programming......Page 93
4.6 Summary......Page 95
Exercises......Page 96
5 Data Abstraction......Page 98
5.1 Specifications for Data Abstractions......Page 100
5.1.1 Specification of IntSet......Page 101
5.1.2 The Poly Abstraction......Page 104
5.2 Using Data Abstractions......Page 106
5.3 Implementing Data Abstractions......Page 107
5.3.2 Implementation of IntSet......Page 108
5.3.3 Implementation of Poly......Page 110
5.3.4 Records......Page 111
5.4 Additional Methods......Page 115
5.5.1 The Abstraction Function......Page 120
5.5.2 The Representation Invariant......Page 123
5.5.3 Implementing the Abstraction Function and Rep Invariant......Page 126
5.5.4 Discussion......Page 128
5.6.1 Benevolent Side Effects......Page 129
5.6.2 Exposing the Rep......Page 132
5.7 Reasoning about Data Abstractions......Page 133
5.7.1 Preserving the Rep Invariant......Page 134
5.7.2 Reasoning about Operations......Page 135
5.7.3 Reasoning at the Abstract Level......Page 136
5.8.1 Mutability......Page 137
5.8.2 Operation Categories......Page 138
5.8.3 Adequacy......Page 139
5.9 Locality and Modifiability......Page 141
Exercises......Page 142
6 Iteration Abstraction......Page 146
6.1 Iteration in Java......Page 149
6.2 Specifying Iterators......Page 151
6.3 Using Iterators......Page 153
6.4 Implementing Iterators......Page 155
6.5 Rep Invariants and Abstraction Functions for Generators......Page 158
6.6 Ordered Lists......Page 159
6.7 Design Issues......Page 164
Exercises......Page 165
7 Type Hierarchy......Page 168
7.1.1 Assignment......Page 170
7.1.2 Dispatching......Page 171
7.3 Defining Hierarchies in Java......Page 173
7.4 A Simple Example......Page 175
7.6 Abstract Classes......Page 182
7.7 Interfaces......Page 187
7.8 Multiple Implementations......Page 188
7.8.1 Lists......Page 189
7.8.2 Polynomials......Page 192
7.9 The Meaning of Subtypes......Page 195
7.9.1 The Methods Rule......Page 197
7.9.2 The Properties Rule......Page 200
7.9.3 Equality......Page 203
7.10 Discussion of Type Hierarchy......Page 204
7.11 Summary......Page 205
Exercises......Page 207
8 Polymorphic Abstractions......Page 210
8.1 Polymorphic Data Abstractions......Page 211
8.3 Equality Revisited......Page 214
8.4 Additional Methods......Page 216
8.5 More Flexibility......Page 219
8.7 Summary......Page 223
Exercises......Page 225
9.1 Specifications and Specificand Sets......Page 228
9.2.1 Restrictiveness......Page 229
9.2.2 Generality......Page 232
9.2.3 Clarity......Page 233
9.3 Why Specifications?......Page 236
9.4 Summary......Page 238
Exercises......Page 240
10 Testing and Debugging......Page 242
10.1 Testing......Page 243
10.1.1 Black-Box Testing......Page 244
10.1.2 Glass-Box Testing......Page 248
10.2 Testing Procedures......Page 251
10.3 Testing Iterators......Page 252
10.4 Testing Data Abstractions......Page 253
10.6 Testing a Type Hierarchy......Page 256
10.7 Unit and Integration Testing......Page 258
10.8 Tools for Testing......Page 260
10.9 Debugging......Page 263
10.10 Defensive Programming......Page 270
10.11 Summary......Page 272
Exercises......Page 273
11.1 The Software Life Cycle......Page 276
11.2 Requirements Analysis Overview......Page 280
11.3 The Stock Tracker......Page 285
11.4 Summary......Page 290
Exercises......Page 291
12 Requirements Specifications......Page 292
12.1 Data Models......Page 293
12.1.1 Subsets......Page 294
12.1.2 Relations......Page 295
12.1.3 Textual Information......Page 299
12.2 Requirements Specifications......Page 303
12.3.1 The Data Model......Page 307
12.3.2 Stock Tracker Specification......Page 310
12.4 Requirements Specification for a Search Engine......Page 312
Exercises......Page 319
13.1 An Overview of the Design Process......Page 322
13.2.1 The Introductory Section......Page 325
13.2.2 The Abstraction Sections......Page 329
13.3 The Structure of Interactive Programs......Page 331
13.4 Starting the Design......Page 336
13.5 Discussion of the Method......Page 344
13.6 Continuing the Design......Page 345
13.7 The Query Abstraction......Page 347
13.8 The WordTable Abstraction......Page 353
13.9 Finishing Up......Page 354
13.10 Interaction between FP and UI......Page 355
13.11 Module Dependency Diagrams versus Data Models......Page 357
13.12 Review and Discussion......Page 359
13.12.1 Inventing Helpers......Page 360
13.12.2 Specifying Helpers......Page 361
13.12.3 Continuing the Design......Page 362
13.12.4 The Design Notebook......Page 363
13.13 Top-Down Design......Page 364
13.14 Summary......Page 365
Exercises......Page 366
14.1 Evaluating a Design......Page 368
14.1.1 Correctness and Performance......Page 369
14.1.2 Structure......Page 374
14.2 Ordering the Program Development Process......Page 381
14.3 Summary......Page 387
Exercises......Page 388
15 Design Patterns......Page 390
15.1 Hiding Object Creation......Page 392
15.2.1 Flyweights......Page 396
15.2.2 Singletons......Page 399
15.2.3 The State Pattern......Page 403
15.3 The Bridge Pattern......Page 406
15.4 Procedures Should Be Objects Too......Page 407
15.5 Composites......Page 411
15.5.1 Traversing the Tree......Page 414
15.6 The Power of Indirection......Page 420
15.7 Publish/Subscribe......Page 423
15.7.1 Abstracting Control......Page 424
15.8 Summary......Page 427
Exercises......Page 428
A......Page 430
C......Page 431
D......Page 433
F......Page 435
H......Page 436
I......Page 437
M......Page 438
P......Page 440
R......Page 442
S......Page 443
U......Page 446
W......Page 447
A......Page 448
C......Page 449
D......Page 450
E......Page 452
H......Page 453
I......Page 454
L......Page 455
M......Page 456
P......Page 457
R......Page 459
S......Page 460
T......Page 462
W......Page 463
Z......Page 464




نظرات کاربران