𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Test Driven Development: By Example

✍ Scribed by Beck, Kent


Publisher
Addison-Wesley Professional; Pearson Education (US)
Year
2002
Tongue
English
Leaves
737
Series
A Kent Beck Signature Book;The Addison-Wesley Signature Series
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the author believes that byproducts of fear include tentative, grumpy, and uncommunicative programmers who are unable to absorb constructive criticism. When programming teams buy into TDD, they immediately see positive results. They eliminate the fear involved in their jobs, and are better equipped to tackle the difficult challenges that face them. TDD eliminates tentative traits, it teaches programmers to communicate, and it encourages team members to seek out criticism However, even the author admits that grumpiness must be worked out individually! In short, the premise behind TDD is that code should be continually tested and refactored. Kent Beck teaches programmers by example, so they can painlessly and dramatically increase the quality of their work.

✦ Table of Contents


Cover......Page 1
Contents......Page 8
Foreword......Page 16
Foreword......Page 18
Preface......Page 20
Acknowledgments......Page 26
Introduction......Page 30
The Need for Integration......Page 54
Integration Challenges......Page 55
How Integration Patterns Can Help......Page 57
The Wide World of Integration......Page 58
Loose Coupling......Page 62
One-Minute EAI......Page 64
A Loosely Coupled Integration Solution......Page 68
Widgets & Gadgets 'R Us: An Example......Page 70
Taking Orders......Page 71
Processing Orders......Page 73
Checking Status......Page 79
Change Address......Page 83
New Catalog......Page 85
Announcements......Page 86
Testing and Monitoring......Page 87
Summary......Page 90
Introduction......Page 92
File Transfer......Page 96
Shared Database......Page 100
Remote Procedure Invocation......Page 103
Messaging......Page 106
Introduction......Page 110
Message Channel......Page 113
Message......Page 119
Pipes and Filters......Page 123
Message Router......Page 131
Message Translator......Page 138
Message Endpoint......Page 148
Introduction......Page 152
Point-to-Point Channel......Page 156
Publish-Subscribe Channel......Page 159
Datatype Channel......Page 164
Invalid Message Channel......Page 168
Dead Letter Channel......Page 172
Guaranteed Delivery......Page 175
Channel Adapter......Page 180
Messaging Bridge......Page 186
Message Bus......Page 190
Introduction......Page 196
Command Message......Page 198
Document Message......Page 200
Event Message......Page 204
Request-Reply......Page 207
Return Address......Page 212
Correlation Identifier......Page 216
Message Sequence......Page 223
Message Expiration......Page 229
Format Indicator......Page 233
Request-Reply Example......Page 236
Publish-Subscribe Example......Page 238
Request-Reply Example......Page 240
Request-Reply Code......Page 242
Invalid Message Example......Page 249
Conclusions......Page 250
Request-Reply Example......Page 251
Request-Reply Code......Page 253
Invalid Message Example......Page 258
Conclusions......Page 259
The Observer Pattern......Page 260
Distributed Observer......Page 261
Publish-Subscribe......Page 262
Comparisons......Page 265
Push and Pull Models......Page 266
Channel Design......Page 272
Conclusions......Page 275
Introduction......Page 278
Content-Based Router......Page 283
Message Filter......Page 290
Dynamic Router......Page 296
Recipient List......Page 302
Splitter......Page 312
Aggregator......Page 321
Resequencer......Page 336
Composed Message Processor......Page 347
Scatter-Gather......Page 350
Routing Slip......Page 354
Process Manager......Page 365
Message Broker......Page 375
Introduction......Page 380
Envelope Wrapper......Page 383
Content Enricher......Page 389
Content Filter......Page 395
Claim Check......Page 399
Normalizer......Page 405
Canonical Data Model......Page 408
Obtaining a Loan Quote......Page 414
Designing the Message Flow......Page 415
Sequencing: Synchronous versus Asynchronous......Page 417
Addressing: Distribution versus Auction......Page 419
Managing Concurrency......Page 421
Three Implementations......Page 422
Solution Architecture......Page 424
Web Services Design Considerations......Page 425
Apache Axis......Page 429
The Loan Broker Application......Page 432
Components of the Loan Broker Application......Page 434
Client Application......Page 449
Running the Solution......Page 450
Performance Limitations......Page 452
Summary......Page 453
Loan Broker Ecosystem......Page 454
Laying the Groundwork: A Messaging Gateway......Page 455
Base Classes for Common Functionality......Page 458
Designing the Bank......Page 463
Designing the Credit Bureau......Page 465
Designing the Loan Broker......Page 466
Refactoring the Loan Broker......Page 484
Improving Performance......Page 488
A Few Words on Testing......Page 493
Limitations of This Example......Page 496
Summary......Page 497
Solution Architecture......Page 498
The Implementation Toolset......Page 501
The Interfaces......Page 504
Implementing the Synchronous Services......Page 505
The Loan Broker Process......Page 508
Managing Concurrent Auctions......Page 512
Execution......Page 513
Conclusions......Page 515
Introduction......Page 516
Messaging Gateway......Page 521
Messaging Mapper......Page 530
Transactional Client......Page 537
Polling Consumer......Page 547
Event-Driven Consumer......Page 551
Competing Consumers......Page 555
Message Dispatcher......Page 561
Selective Consumer......Page 568
Durable Subscriber......Page 575
Idempotent Receiver......Page 581
Service Activator......Page 585
Introduction......Page 590
Control Bus......Page 593
Detour......Page 598
Wire Tap......Page 600
Message History......Page 604
Message Store......Page 608
Smart Proxy......Page 611
Test Message......Page 622
Channel Purger......Page 625
Loan Broker System Management......Page 630
Instrumenting the Loan Broker......Page 631
Loan Broker Quality of Service......Page 632
Verify the Credit Bureau Operation......Page 640
Credit Bureau Failover......Page 645
Enhancing the Management Console......Page 648
Limitations of This Example......Page 655
Building a System......Page 656
Architecture with Patterns......Page 657
Structuring Channels......Page 663
Selecting a Message Channel......Page 667
Flashing Market Data Updates......Page 671
Major Production Crash......Page 673
Summary......Page 676
Emerging Standards and Futures in Enterprise Integration......Page 678
The Relationship between Standards and Design Patterns......Page 679
Survey of Standards Processes and Organizations......Page 680
Business Process Components and Intra-Web Service Messaging......Page 682
ebXML and the Electronic Business Messaging Service (ebMS)......Page 684
Business Process Execution Language for Web Services (BEPL4WS)......Page 687
Web Service Choreography Interface (WSCI)......Page 689
Java Business Process Component Standards......Page 690
WS-*......Page 692
Conclusions......Page 700
Bibliography......Page 702
A......Page 712
B......Page 713
C......Page 714
D......Page 716
E......Page 718
G......Page 719
I......Page 720
L......Page 721
M......Page 723
N......Page 726
P......Page 727
R......Page 729
S......Page 733
T......Page 734
W......Page 735
X......Page 736

✦ Subjects


Computer Science;Programming;Science;Technology;Software;Technical;Nonfiction;Coding;Computers;Engineering;Reference


πŸ“œ SIMILAR VOLUMES


Test Driven Development: By Example
✍ Kent Beck πŸ“‚ Library πŸ“… 2002 πŸ› Addison-Wesley Professional 🌐 English

Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the author believes that byproducts of fear include tentative, grumpy, and uncommunicative programmers who a

Test Driven Development: By Example
✍ Beck, Kent πŸ“‚ Library πŸ“… 2002 πŸ› Addison-Wesley Professional; Pearson Education (US 🌐 English

Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the author believes that byproducts of fear include tentative, grumpy, and uncommunicative programmers who a

Test-driven development by example
✍ Kent Beck πŸ“‚ Library πŸ“… 2002 πŸ› Addison-Wesley Professional 🌐 English

Clean code that works - now. This is the seeming contradiction that lies behind much of the pain of programming. Test-driven development replies to this contradiction with a paradox-test the program before you write it. A new idea? Not at all. Since the dawn of computing, programmers have been speci

ATDD by Example: A Practical Guide to Ac
✍ Markus GΓ€rtner πŸ“‚ Library πŸ“… 2012 πŸ› Addison-Wesley Professional 🌐 English

With Acceptance Test-Driven Development (ATDD), business customers, testers, and developers can collaborate to produce testable requirements that help them build higher quality software more rapidly. However, ATDD is still widely misunderstood by many practitioners. <b><i>ATDD by Example</i></b> is