.NET Domain-Driven Design with C#
close menu
Bookswagon
search
My Account
Home > Computing and Information Technology Books > Computer programming / software engineering > Programming and scripting languages: general > .NET Domain-Driven Design with C#: Problem - Design - Solution
.NET Domain-Driven Design with C#: Problem - Design - Solution

.NET Domain-Driven Design with C#: Problem - Design - Solution


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

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.

Table of Contents:

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



About the Author :
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. 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.


Best Sellers


Product Details
  • ISBN-13: 9780470384022
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: Wrox Press
  • Language: English
  • Sub Title: Problem - Design - Solution
  • ISBN-10: 0470384026
  • Publisher Date: 28 Jul 2008
  • Binding: Digital (delivered electronically)
  • No of Pages: 432


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
.NET Domain-Driven Design with C#: Problem - Design - Solution
John Wiley & Sons Inc -
.NET Domain-Driven Design with C#: Problem - Design - Solution
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

.NET Domain-Driven Design with C#: Problem - Design - Solution

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    Fresh on the Shelf


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    Your IP: 216.73.216.103 IN