Chapter 3. Managing Projects

Since I have just built the application architecture, it is time to start implementing the functionality of the application. Actually, the application architecture is not fully developed yet; in fact, I will probably refactor parts of it based on the needs of the application as I go along. In last chapter's example of a View and a ViewModel, I introduced what I will be talking about this chapter, the SmartCA's concept of Projects. I intentionally did not show you the Project class because that is the focus of this chapter. I will also be talking about the concept of Contractors and how they relate to Projects.

The Problem

Smart Design is an architectural, engineering, and interior design firm that is known for its expertise in the design and construction of complex facilities, such as hospitals and universities. Because they are involved from beginning to end in the construction projects, they are, by default, the "general contractor," meaning that they are the ones in charge of making sure that the facilities are built properly, according to both customer's and government's specifications. In order to carry out this large responsibility, they must manage several other parties involved in carrying out their architectural and engineering plans. This usually involves a lot of administration, mostly for keeping track of costs, project communications, documentation (such as requests for information, change orders, and proposal requests), and more. This construction ...

Get .NET Domain-Driven Design with C#: Problem – Design – Solution now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.