Index[A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] Table Module 2nd tables, mapping classes onto tables versus mappting tables onto classes TakeOrder() TDD (Test-Driven Development) 2nd 3rd API compilers demonstration design effects client control coupling interfaces/factories sub-results documentation Domain Models flow 2nd independence maintenance mock objects problems losing the overview maintaining code persistent data security UI reasons for using refactoring 2nd reusability testing stubs unit testing GUI display dynamics displaying object types picking objects unit tests working with difficult components Template Method testing data access database testing evolving schemas maintaining the state of the database during the run resetting data used by a test before the test resetting database before each test separating the testing of the unit from the testing of the call to the problems doing small scale integration testing, Repositories problems testing Repositories unit testing domain model example GUI mocking with NMock TDD of GUI testing stubs consequences tests, naming test stub timeout watchers tools, cleaning tools (refactoring) ToString() TotalAmount TotalCredit TotalCreditService totals for each order tracing mechanisms no tracing tradeoffs transaction abstraction Transaction Script 2nd 3rd transactions 2nd NHibernate transitions domain-related rules incorrect transitions, APIs two-way rules checking type explosion |