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] [Z] D metrics for main sequence 2nd DAGs (directed acyclic graphs) Dashes (-) in class diagrams Data access object (DAO) Data structures, configuration Data tokens in sequence diagrams 2nd Data-driven approach in Open/Closed Principle Database property DatabaseFacade class Databases as implementation detail patterns with for payroll [See FACADE pattern, PayrollDatabase class.] third-party DataSet class Date method DateUtil class Db class 2nd 3rd DB gateways DBC (design by contract) DbGateways class DbOrderGateway class 2nd DbOrderGatewayTest class DbProductGateway class 2nd DbProductGatewayTest class DbTest class 2nd DeclareComplete method DeclareDone method DECORATOR pattern for association stereotypes with databases for modem problem Decoupling physical and temporal serendipitous DedicatedHayesModem class DedicatedModem class DedicatedModemAdapter class DedModemController class DedUsers class Degenerate classes DelayAndRepeat method DelayedTyper class Delegation separation through STRATEGY for [See STRATEGY pattern.] TEMPLATE METHOD for [See TEMPLATE METHOD pattern.] Delete method DeleteEmployeeTransaction class 2nd DeleteProductData method Deleting employees 2nd Delivery of software DeMarco, Tom 2nd Dependencies in agile design class diagrams for 2nd in classes in CoffeeMaker in FACTORY from static typing in modem problem Dependency cycles, eliminating Dependency management metrics Dependency-Inversion Principle (DIP) 2nd abstractions in in CoffeeMaker in Copy program in furnace example layering in in modem problem in OBSERVER ownership inversion simple example in table lamp violations of Dependent components Deposit method DepositTransaction class DepositUI interface Derivability in MONOSTATE Deriving vs. factoring Description property Assembly 2nd PiecePart 2nd Design agile and rotting software Copy program attention to before coding in extreme programming large systems top-down vs. bottom-up Design by contract (DBC) Desktop applications Details in Common Closure Principle in payroll system DetermineIterationLimit method Developers budgets for and business decisions in extreme programming Diagrams appropriateness of as back-end documentation for bowling game class [See Class diagrams.] collaboration for cellular phones for relationships for communication discarding effective use of iterative process for object 2nd active objects in purpose of purpose of as road maps sequence [See Sequence diagrams.] state [See State diagrams.] use cases Dial method DedModemController DialModemController HayesModem LoudDialModem 2nd Modem 2nd ModemDecorator Dialer class for cellular phones class diagram for DialForReal method dialImp class DialModem class DialModemController class Diderot, Denis Digital clock project DigitalClock interface 2nd DIP [See Dependency-Inversion Principle (DIP).] Direct dependency DirectDepositAccount table 2nd 3rd DirectDepositMethod 2nd 3rd 4th DirectDepositMethodGetsSaved method Directed acyclic graphs (DAGs) Directed edges Directed graphs Direction of dependencies DirectMethod class DisplayTime method Dispose method AddEmployeeWindow PayrollWindow Distance from main sequence 2nd Distributed processing DLLs, components in Do method Documentation acceptance tests as comprehensiveness of diagrams as size of source code listings as Dog class Done method Application ContainmentVessel HotWaterSource M4UserInterface UserInterface "Done", defining Door interface 2nd DoorTimeOut method DoorTimerAdapter DoPayroll method DoSort method Dot structure DoubleBubbleSorter class Draw method Circle CompositeShape Shape 2nd Square DrawAllShapes method 2nd 3rd DrawCircleCommand class Drawing rectangles DrawShape method DrawSquare method Dual dispatch technique 2nd Duplication of code Dynamic diagrams Dynamic typing vs. static |