.NET Domain–Driven Design with C# - Tim McCarthy

.NET Domain–Driven Design with C#

Problem – Design – Solution

(Autor)

Buch | Softcover
432 Seiten
2008
Wrox Press (Verlag)
978-0-470-14756-6 (ISBN)
38,95 inkl. MwSt
  • Keine Verlagsinformationen verfügbar
  • Artikel merken
This first technical title of its kind, this is a revolutionary book for the object oriented developer. It takes the reader through the intense process of building a real–world application using Domain–Driven Design principles implemented in C# 3. 0 (. NET Framework 3. 5).
As the first technical book of its kind, this unique resource walks you through the process of building a real–world application using Domain–Driven Design implemented in C#. Based on a real application for an existing company, each chapter is broken down into specific modules so that you can identify the problem, decide what solution will provide the best results, and then execute that design to solve the problem. With each chapter, you′ll build a complete project from beginning to end.

Tim McCarthy is a freelance consultant who architects, designs and builds highly scalable layered web and smart client applications utilizing the latest Microsoft platforms and technologies. Tim is a Microsoft MVP in Solutions Architecture, and his expertise covers a wide range of Microsoft technologies, including, but not limited to, the following: .NET Framework (ASP.NET/Smart Clients/VSTO/Workflow/Web Services, Windows Presentation Foundation), SQL Server, Active Directory, MS Exchange development, UDDI, SharePoint, and Service Oriented Architecture (SOA) applications. Tim has worked as both a project technical lead/member as well as being in a technical consulting role for several Fortune 500 companies. He has held the Microsoft Certified Solution Developer (MCSD) and Microsoft Certified Trainer (MCT) certifications for several years, and was one of the first wave of developers to earn the Microsoft Certified Application Developer (MCAD) for .NET and MCSD for .NET certifications. He also holds the Microsoft Certified Database Administrator certification for SQL Server 2000. Tim is also certified as an IEEE Certified Software Development Professional, and he is one of only 550 people to hold this certification in the world. Tim has been an author and technical reviewer for several books from Wrox Press. His other books include being a lead author on Professional VB 2005 , several editions of Professional VB.NET , Professional Commerce Server 2000 , and Professional ADO 2.5 Programming . He also has written and presented a DVD titled SharePoint Portal Services Programming 2003 . Tim has written numerous articles for the Developer .NET Update newsletter, developed packaged presentations for the Microsoft Developer Network (MSDN), and wrote a whitepaper for Microsoft on using COM+ services in .NET. He has also written articles for SQL Server Magazine and Windows & .NET Magazine.

Acknowledgments xv
Introduction xvii
Chapter 1: Introducing the Project: The SmartCA Application 1
The Problem 1
The Design 4
Reliability and Availability 4
Scalability 5
Maintainability 5
Rich Client Application Functionality 5
Offline Capable 5
Web Access 5
Intelligent Installation and Auto–Update Functionality 5
Additional Client Device Support 5
The Solution 6
Fulfilling the Reliability, Availability, Scalability, Offline Capable, and Additional Client Device Support Requirements 6
Fulfilling the Maintainability Requirement 7
Fulfilling the Rich Client Application Functionality Requirement 9
Fulfilling the Web Access Requirement 11
Fulfilling the Intelligent Installation and Auto–Update Functionality Requirement 11
Summary 11
Chapter 2: Designing the Layered Architecture 13
The Problem 13
The Design 13
Designing the Visual Studio Solution 13
Designing the Architectural Layers 14
The Solution 18
Implementing the Visual Studio Solution 19
Implementing the Architectural Layers 19
Summary 53
Chapter 3: Managing Projects 55
The Problem 55
The Design 55
Designing the Domain Model 56
Defining the Project Aggregate 56
Defining the Aggregate Boundaries 57
Designing the Repositories 58
Writing the Unit Tests 60
The Solution 65
The Project Class 65
The Repository Implementations 77
The Service Class Implementations 90
The Project Information ViewModel Implementation 92
The Project Information View Implementation 102
Summary 107
Chapter 4: Companies and Contacts 109
The Problem 109
The Design 109
Designing the Domain Model 110
Defining the Company and Contact Aggregates 110
Defining the Aggregate Boundaries 111
Designing the Repositories 112
Writing the Unit Tests 114
The Solution 119
The Company Class 119
The Contact Class 121
The ProjectContact Class 123
The Repository Implementations 124
The Service Class Implementations 134
The Company ViewModel 137
The Company View 144
The Project Contact View Model 148
The Project Contact View 154
Summary 156
Chapter 5: Submittal Transmittals 157
The Problem 157
The Design 158
Designing the Domain Model 158
Defining the Submittal Aggregate 159
Defining the Aggregate Boundaries 159
Designing the Repository 160
Writing the Unit Tests 161
The Solution 164
The Submittal Repository Implementation 178
The Submittal Service Implementation 187
The Submittal View Model 188
The Submittal View 192
Summary 197
Chapter 6: Requests for Information 199
The Problem 199
The Design 200
Designing the Domain Model 200
Defining the RFI Aggregate 201
Defining the Aggregate Boundaries 202
Designing the Repository 203
Writing the Unit Tests 204
The Solution 207
The RFI Repository Implementation 213
The RFI Service Implementation 223
The RFI ViewModel Classes 224
The RFI View 231
Summary 232
Chapter 7: Proposal Requests 233
The Problem 233
The Design 234
Designing the Domain Model 234
Designing the Proposal Request Aggregate 235
Defining the Aggregate Boundaries 236
Designing the Repository 237
Writing the Unit Tests 239
The Solution 242
The Proposal Request Class Private Fields and Constructors 242
The ProposalRequest Properties 245
The Validate Method 248
The Proposal Request Repository Implementation 253
The Proposal Request Service Implementation 257
The Proposal Request View Model Class 258
The Proposal Request View 260
Summary 263
Chapter 8: Change Orders 265
The Problem 265
The Design 266
Designing the Domain Model 266
Designing the Change Order Aggregate 267
Defining the Aggregate Boundaries 268
Designing the Repository 268
Writing the Unit Tests 271
The Solution 271
The Change Order Repository Implementation 283
The Change Order Service Implementation 288
The Change Order View Model Class 289
The Change Order View 292
Summary 293
Chapter 9: Construction Change Directives 295
The Problem 295
The Design 295
Designing the Domain Model 296
Designing the Construction Change Directive Aggregate 297
Defining the Aggregate Boundaries 298
Designing the Repository 299
Writing the Unit Tests 300
The Solution 300
The Construction Change Directive Class Private Fields and Constructors 300
The Construction Change Directive Repository Implementation 307
The Construction Change Directive Service Implementation 313
The Construction Change Directive ViewModel Class 314
The Construction Change Directive View 324
Summary 325
Chapter 10: Synchronizing With the Server 327
The Problem 327
The Design 327
Redesigning the Unit of Work 328
Designing the Synchronization 330
Writing the Unit Tests 331
The Solution 333
Unit of Work Refactoring 333
Synchronizing with the Synchronizer Class 349
Summary 356
Chapter 11: The Client Membership System 357
The Problem 357
The Design 357
Password Security 358
Designing the Client Membership System 358
The Solution 359
The Client Membership System Domain Model Classes 360
Client Membership System Unit Tests 388
Summary 389
Index 391

Erscheint lt. Verlag 18.4.2008
Sprache englisch
Maße 186 x 233 mm
Gewicht 658 g
Einbandart Paperback
Themenwelt Informatik Programmiersprachen / -werkzeuge C#
ISBN-10 0-470-14756-3 / 0470147563
ISBN-13 978-0-470-14756-6 / 9780470147566
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch: Spracheinführung, Objektorientierung, …

von Andreas Kühnel

Buch | Hardcover (2019)
Rheinwerk (Verlag)
49,90