├── CleanLike
├── .gitignore
├── CommonLibrary
│ ├── CommonLibrary.csproj
│ └── Objects
│ │ └── ObjectValueStringBuilder.cs
├── EFInfrastructure
│ ├── Contexts
│ │ └── ItdddDbContext.cs
│ ├── EFInfrastructure.csproj
│ ├── Migrations
│ │ ├── 20191210072139_Initialize.Designer.cs
│ │ ├── 20191210072139_Initialize.cs
│ │ └── ItdddDbContextModelSnapshot.cs
│ ├── Persistence
│ │ ├── Circles
│ │ │ ├── EFCircleFactory.cs
│ │ │ └── EFCircleRepository.cs
│ │ ├── DataModels
│ │ │ ├── CircleDataModel.cs
│ │ │ ├── OwnerCircle.cs
│ │ │ ├── UserCircle.cs
│ │ │ └── UserDataModel.cs
│ │ ├── Shared
│ │ │ └── Factory
│ │ │ │ └── SimpleIncrementalFactory.cs
│ │ └── Users
│ │ │ ├── EFUserFactory.cs
│ │ │ └── EFUserRepository.cs
│ └── QueryService
│ │ └── Circles
│ │ ├── EFCircleGetCandidatesInteractor.cs
│ │ └── EFMemoryCircleGetSummariesInteractor.cs
├── InMemoryInfrastructure
│ ├── Foundation
│ │ ├── Factory
│ │ │ └── SerialNumberAssigner.cs
│ │ └── Repository
│ │ │ └── InMemoryCrudRepository.cs
│ ├── InMemoryInfrastructure.csproj
│ ├── Persistence
│ │ ├── Circles
│ │ │ ├── InMemoryCircleFactory.cs
│ │ │ └── InMemoryCircleRepository.cs
│ │ └── Users
│ │ │ ├── InMemoryUserFactory.cs
│ │ │ └── InMemoryUserRepository.cs
│ └── QueryService
│ │ └── Circles
│ │ ├── InMemoryCircleGetCandidatesInteractor.cs
│ │ └── InMemoryCircleGetSummariesInteractor.cs
├── IntroductionToDomainDrivenDesign.sln
├── README.md
├── SQLInfrastructure
│ ├── Persistence
│ │ ├── Circles
│ │ │ ├── SqlCircleBuilder.cs
│ │ │ ├── SqlCircleFactory.cs
│ │ │ └── SqlCircleRepository.cs
│ │ └── Users
│ │ │ ├── SqlUserFactory.cs
│ │ │ └── SqlUserRepository.cs
│ ├── Provider
│ │ └── DatabaseConnectionProvider.cs
│ ├── QueryService
│ │ └── Circles
│ │ │ ├── SqlCircleGetCandidatesInteractor.cs
│ │ │ └── SqlCircleGetSummariesInteractor.cs
│ └── SQLInfrastructure.csproj
├── SnsApplication.Tests
│ ├── SnsApplication.Tests.csproj
│ └── Users
│ │ └── UserRegisterTest.cs
├── SnsApplication
│ ├── Circles
│ │ ├── CanNotRegisterCircleException.cs
│ │ ├── CircleNotFoundException.cs
│ │ └── Interactors
│ │ │ ├── CircleCreateInteractor.cs
│ │ │ ├── CircleDeleteInteractor.cs
│ │ │ ├── CircleGetAllInteractor.cs
│ │ │ ├── CircleGetInteractor.cs
│ │ │ ├── CircleJoinInteractor.cs
│ │ │ └── CircleUpdateInteractor.cs
│ ├── SnsApplication.csproj
│ └── Users
│ │ ├── CanNotRegisterUserException.cs
│ │ ├── Interactors
│ │ ├── UserDeleteInteractor.cs
│ │ ├── UserGetAllInteractor.cs
│ │ ├── UserGetInteractor.cs
│ │ ├── UserRegisterInteractor.cs
│ │ └── UserUpdateInteractor.cs
│ │ └── UserNotFoundException.cs
├── SnsApplicationPort
│ ├── Circles
│ │ ├── Commons
│ │ │ └── CircleData.cs
│ │ ├── Create
│ │ │ ├── CircleCreateInputData.cs
│ │ │ ├── CircleCreateOutputData.cs
│ │ │ └── ICircleCreateInputPort.cs
│ │ ├── Delete
│ │ │ ├── CircleDeleteInputData.cs
│ │ │ ├── CircleDeleteOutputData.cs
│ │ │ └── ICircleDeleteInputPort.cs
│ │ ├── Get
│ │ │ ├── CircleGetInputData.cs
│ │ │ ├── CircleGetOutputData.cs
│ │ │ └── ICIrcleGetInputPort.cs
│ │ ├── GetAll
│ │ │ ├── CircleGetAllInputData.cs
│ │ │ ├── CircleGetAllOutputData.cs
│ │ │ └── ICIrcleGetAllInputPort.cs
│ │ ├── GetCandidates
│ │ │ ├── CircleGetCandidatesInputData.cs
│ │ │ ├── CircleGetCandidatesOutputData.cs
│ │ │ └── ICircleGetCandidatesInputPort.cs
│ │ ├── GetSummaries
│ │ │ ├── CircleGetSummariesInputData.cs
│ │ │ ├── CircleGetSummariesOutputData.cs
│ │ │ ├── CircleSummaryData.cs
│ │ │ └── ICircleGetSummariesInputPort.cs
│ │ ├── Join
│ │ │ ├── CircleJoinInputData.cs
│ │ │ ├── CircleJoinOutputData.cs
│ │ │ └── ICircleJoinInputPort.cs
│ │ └── Update
│ │ │ ├── CircleUpdateInputData.cs
│ │ │ ├── CircleUpdateOutputData.cs
│ │ │ └── ICircleUpdateInputPort.cs
│ ├── SnsApplicationPort.csproj
│ └── Users
│ │ ├── Commons
│ │ └── UserData.cs
│ │ ├── Delete
│ │ ├── IUserDeleteInputPort.cs
│ │ ├── UserDeleteInputData.cs
│ │ └── UserDeleteOutputData.cs
│ │ ├── Get
│ │ ├── IUserGetInputPort.cs
│ │ ├── UserGetInputData.cs
│ │ └── UserGetOutputData.cs
│ │ ├── GetAll
│ │ ├── IUserGetAllInputPort.cs
│ │ ├── UserGetAllInputData.cs
│ │ └── UserGetAllOutputData.cs
│ │ ├── Register
│ │ ├── IUserRegisterInputPort.cs
│ │ ├── UserRegisterInputData.cs
│ │ └── UserRegisterOutputData.cs
│ │ └── Update
│ │ ├── IUserUpdateInputPort.cs
│ │ ├── UserUpdateInputData.cs
│ │ └── UserUpdateOutputData.cs
├── SnsDomain
│ ├── Library
│ │ └── Models
│ │ │ └── Identity.cs
│ ├── Models
│ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserType.cs
│ ├── Services
│ │ ├── CircleService.cs
│ │ └── UserService.cs
│ └── SnsDomain.csproj
└── WebApplication
│ ├── .gitignore
│ ├── ClientApp
│ ├── .gitignore
│ ├── README.md
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ └── manifest.json
│ ├── src
│ │ ├── App.js
│ │ ├── App.test.js
│ │ ├── App.tsx
│ │ ├── components
│ │ │ ├── Home.js
│ │ │ ├── Home.tsx
│ │ │ ├── Layout.js
│ │ │ ├── Layout.tsx
│ │ │ ├── NavMenu.css
│ │ │ ├── NavMenu.js
│ │ │ ├── NavMenu.tsx
│ │ │ ├── models
│ │ │ │ ├── circles
│ │ │ │ │ └── CircleResponse.ts
│ │ │ │ └── users
│ │ │ │ │ └── UserResponse.ts
│ │ │ └── pages
│ │ │ │ ├── circle
│ │ │ │ ├── add
│ │ │ │ │ ├── CircleAdd.js
│ │ │ │ │ └── CircleAdd.tsx
│ │ │ │ ├── detail
│ │ │ │ │ └── CircleDetail.tsx
│ │ │ │ ├── index
│ │ │ │ │ ├── CircleIndex.js
│ │ │ │ │ └── CircleIndex.tsx
│ │ │ │ ├── member
│ │ │ │ │ └── add
│ │ │ │ │ │ └── CircleMemberAdd.tsx
│ │ │ │ └── update
│ │ │ │ │ └── CircleUpdate.tsx
│ │ │ │ └── user
│ │ │ │ ├── add
│ │ │ │ ├── UserAdd.js
│ │ │ │ └── UserAdd.tsx
│ │ │ │ ├── detail
│ │ │ │ └── UserDetail.tsx
│ │ │ │ ├── index
│ │ │ │ ├── UserIndex.js
│ │ │ │ └── UserIndex.tsx
│ │ │ │ └── update
│ │ │ │ └── UserUpdate.tsx
│ │ ├── custom.css
│ │ ├── index.js
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ └── registerServiceWorker.js
│ └── tsconfig.json
│ ├── Config
│ └── Dependency
│ │ ├── DependencySetupFactory.cs
│ │ ├── EFDependencySetup.cs
│ │ ├── IDependencySetup.cs
│ │ ├── InMemoryModuleDependencySetup.cs
│ │ ├── ProductionDepencencySetup.cs
│ │ └── SqlConnectionDependencySetup.cs
│ ├── Controllers
│ ├── CircleController.cs
│ ├── HomeController.cs
│ ├── SampleDataController.cs
│ ├── UserController.cs
│ └── WeatherForecastController.cs
│ ├── Models
│ ├── Circles
│ │ ├── Commons
│ │ │ └── CircleResponseModel.cs
│ │ ├── Get
│ │ │ └── CircleGetResponseModel.cs
│ │ ├── GetCandidates
│ │ │ ├── CircleGetCandidatesRequestModel.cs
│ │ │ └── CircleGetCandidatesResponseModel.cs
│ │ ├── Index
│ │ │ └── CircleIndexResponseModel.cs
│ │ ├── JoinMember
│ │ │ └── CircleJoinMemberRequestModel.cs
│ │ ├── Post
│ │ │ ├── CirclePostRequestModel.cs
│ │ │ └── CirclePostResponseModel.cs
│ │ └── Put
│ │ │ └── CirclePutRequestModel.cs
│ └── Users
│ │ ├── Commons
│ │ └── UserResponseModel.cs
│ │ ├── Get
│ │ └── UserGetResponseModel.cs
│ │ ├── Index
│ │ └── UserIndexResponseModel.cs
│ │ ├── Post
│ │ ├── UserPostRequestModel.cs
│ │ └── UserPostResponseModel.cs
│ │ └── Put
│ │ └── UserPutRequestModel.cs
│ ├── Pages
│ ├── Error.cshtml
│ ├── Error.cshtml.cs
│ └── _ViewImports.cshtml
│ ├── Program.cs
│ ├── Properties
│ └── launchSettings.json
│ ├── Startup.cs
│ ├── WeatherForecast.cs
│ ├── WebApplication.csproj
│ ├── appsettings.Development.json
│ ├── appsettings.Development.json.bak
│ └── appsettings.json
├── Layered
├── .gitignore
├── CommonLibrary
│ ├── CommonLibrary.csproj
│ └── Objects
│ │ └── ObjectValueStringBuilder.cs
├── EFInfrastructure
│ ├── Contexts
│ │ └── ItdddDbContext.cs
│ ├── EFInfrastructure.csproj
│ ├── Migrations
│ │ ├── 20191210072139_Initialize.Designer.cs
│ │ ├── 20191210072139_Initialize.cs
│ │ └── ItdddDbContextModelSnapshot.cs
│ ├── Persistence
│ │ ├── Circles
│ │ │ ├── EFCircleFactory.cs
│ │ │ └── EFCircleRepository.cs
│ │ ├── DataModels
│ │ │ ├── CircleDataModel.cs
│ │ │ ├── OwnerCircle.cs
│ │ │ ├── UserCircle.cs
│ │ │ └── UserDataModel.cs
│ │ ├── Shared
│ │ │ └── Factory
│ │ │ │ └── SimpleIncrementalFactory.cs
│ │ └── Users
│ │ │ ├── EFUserFactory.cs
│ │ │ └── EFUserRepository.cs
│ └── QueryService
│ │ └── EFQueryService
│ │ └── EFCircleQueryService.cs
├── InMemoryInfrastructure
│ ├── Foundation
│ │ ├── Factory
│ │ │ └── SerialNumberAssigner.cs
│ │ └── Repository
│ │ │ └── InMemoryCrudRepository.cs
│ ├── InMemoryInfrastructure.csproj
│ ├── Persistence
│ │ ├── Circles
│ │ │ ├── InMemoryCircleFactory.cs
│ │ │ └── InMemoryCircleRepository.cs
│ │ └── Users
│ │ │ ├── InMemoryUserFactory.cs
│ │ │ └── InMemoryUserRepository.cs
│ └── QueryService
│ │ └── InMemoryCircleQueryService.cs
├── IntroductionToDomainDrivenDesign.sln
├── README.md
├── SQLInfrastructure
│ ├── Persistence
│ │ ├── Circles
│ │ │ ├── SqlCircleBuilder.cs
│ │ │ ├── SqlCircleFactory.cs
│ │ │ └── SqlCircleRepository.cs
│ │ └── Users
│ │ │ ├── SqlUserFactory.cs
│ │ │ └── SqlUserRepository.cs
│ ├── Provider
│ │ └── DatabaseConnectionProvider.cs
│ ├── QueryService
│ │ └── SqlCircleQueryService.cs
│ └── SQLInfrastructure.csproj
├── SnsApplication.Tests
│ ├── SnsApplication.Tests.csproj
│ └── Users
│ │ └── UserRegisterTest.cs
├── SnsApplication
│ ├── Circles
│ │ ├── CanNotRegisterCircleException.cs
│ │ ├── CircleApplicationService.cs
│ │ ├── CircleNotFoundException.cs
│ │ ├── Commons
│ │ │ └── CircleData.cs
│ │ ├── Create
│ │ │ ├── CircleCreateCommand.cs
│ │ │ └── CircleCreateResult.cs
│ │ ├── Delete
│ │ │ └── CircleDeleteCommand.cs
│ │ ├── Get
│ │ │ ├── CircleGetCommand.cs
│ │ │ └── CircleGetResult.cs
│ │ ├── GetAll
│ │ │ └── CircleGetAllResult.cs
│ │ ├── GetCandidates
│ │ │ ├── CircleGetCandidatesCommand.cs
│ │ │ └── CircleGetCandidatesResult.cs
│ │ ├── GetSummaries
│ │ │ ├── CircleGetSummariesCommand.cs
│ │ │ ├── CircleGetSummariesResult.cs
│ │ │ └── CircleSummaryData.cs
│ │ ├── ICircleQueryService.cs
│ │ ├── Join
│ │ │ └── CircleJoinCommand.cs
│ │ └── Update
│ │ │ └── CircleUpdateCommand.cs
│ ├── SnsApplication.csproj
│ └── Users
│ │ ├── CanNotRegisterUserException.cs
│ │ ├── Commons
│ │ └── UserData.cs
│ │ ├── Delete
│ │ └── UserDeleteCommand.cs
│ │ ├── Get
│ │ ├── UserGetCommand.cs
│ │ └── UserGetResult.cs
│ │ ├── GetAll
│ │ └── UserGetAllResult.cs
│ │ ├── Register
│ │ ├── UserRegisterCommand.cs
│ │ └── UserRegisterResult.cs
│ │ ├── Update
│ │ └── UserUpdateCommand.cs
│ │ ├── UserApplicationService.cs
│ │ └── UserNotFoundException.cs
├── SnsDomain
│ ├── Library
│ │ └── Models
│ │ │ └── Identity.cs
│ ├── Models
│ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserType.cs
│ ├── Services
│ │ ├── CircleService.cs
│ │ └── UserService.cs
│ └── SnsDomain.csproj
└── WebApplication
│ ├── .gitignore
│ ├── ClientApp
│ ├── .gitignore
│ ├── README.md
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ └── manifest.json
│ ├── src
│ │ ├── App.js
│ │ ├── App.test.js
│ │ ├── App.tsx
│ │ ├── components
│ │ │ ├── Home.js
│ │ │ ├── Home.tsx
│ │ │ ├── Layout.js
│ │ │ ├── Layout.tsx
│ │ │ ├── NavMenu.css
│ │ │ ├── NavMenu.js
│ │ │ ├── NavMenu.tsx
│ │ │ ├── models
│ │ │ │ ├── circles
│ │ │ │ │ └── CircleResponse.ts
│ │ │ │ └── users
│ │ │ │ │ └── UserResponse.ts
│ │ │ └── pages
│ │ │ │ ├── circle
│ │ │ │ ├── add
│ │ │ │ │ ├── CircleAdd.js
│ │ │ │ │ └── CircleAdd.tsx
│ │ │ │ ├── detail
│ │ │ │ │ └── CircleDetail.tsx
│ │ │ │ ├── index
│ │ │ │ │ ├── CircleIndex.js
│ │ │ │ │ └── CircleIndex.tsx
│ │ │ │ ├── member
│ │ │ │ │ └── add
│ │ │ │ │ │ └── CircleMemberAdd.tsx
│ │ │ │ └── update
│ │ │ │ │ └── CircleUpdate.tsx
│ │ │ │ └── user
│ │ │ │ ├── add
│ │ │ │ ├── UserAdd.js
│ │ │ │ └── UserAdd.tsx
│ │ │ │ ├── detail
│ │ │ │ └── UserDetail.tsx
│ │ │ │ ├── index
│ │ │ │ ├── UserIndex.js
│ │ │ │ └── UserIndex.tsx
│ │ │ │ └── update
│ │ │ │ └── UserUpdate.tsx
│ │ ├── custom.css
│ │ ├── index.js
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ └── registerServiceWorker.js
│ └── tsconfig.json
│ ├── Config
│ └── Dependency
│ │ ├── DependencySetupFactory.cs
│ │ ├── EFDependencySetup.cs
│ │ ├── IDependencySetup.cs
│ │ ├── InMemoryModuleDependencySetup.cs
│ │ ├── ProductionDepencencySetup.cs
│ │ └── SqlConnectionDependencySetup.cs
│ ├── Controllers
│ ├── CircleController.cs
│ ├── HomeController.cs
│ ├── SampleDataController.cs
│ ├── UserController.cs
│ └── WeatherForecastController.cs
│ ├── Models
│ ├── Circles
│ │ ├── Commons
│ │ │ └── CircleResponseModel.cs
│ │ ├── Get
│ │ │ └── CircleGetResponseModel.cs
│ │ ├── GetCandidates
│ │ │ ├── CircleGetCandidatesRequestModel.cs
│ │ │ └── CircleGetCandidatesResponseModel.cs
│ │ ├── Index
│ │ │ └── CircleIndexResponseModel.cs
│ │ ├── JoinMember
│ │ │ └── CircleJoinMemberRequestModel.cs
│ │ ├── Post
│ │ │ ├── CirclePostRequestModel.cs
│ │ │ └── CirclePostResponseModel.cs
│ │ └── Put
│ │ │ └── CirclePutRequestModel.cs
│ └── Users
│ │ ├── Commons
│ │ └── UserResponseModel.cs
│ │ ├── Get
│ │ └── UserGetResponseModel.cs
│ │ ├── Index
│ │ └── UserIndexResponseModel.cs
│ │ ├── Post
│ │ ├── UserPostRequestModel.cs
│ │ └── UserPostResponseModel.cs
│ │ └── Put
│ │ └── UserPutRequestModel.cs
│ ├── Pages
│ ├── Error.cshtml
│ ├── Error.cshtml.cs
│ └── _ViewImports.cshtml
│ ├── Program.cs
│ ├── Properties
│ └── launchSettings.json
│ ├── Startup.cs
│ ├── WeatherForecast.cs
│ ├── WebApplication.csproj
│ ├── appsettings.Development.json
│ ├── appsettings.Development.json.bak
│ └── appsettings.json
├── Layered_UsingInternal
├── .gitignore
├── CommonLibrary
│ ├── CommonLibrary.csproj
│ └── Objects
│ │ └── ObjectValueStringBuilder.cs
├── EFInfrastructure
│ ├── Contexts
│ │ └── ItdddDbContext.cs
│ ├── EFInfrastructure.csproj
│ ├── Migrations
│ │ ├── 20191210072139_Initialize.Designer.cs
│ │ ├── 20191210072139_Initialize.cs
│ │ └── ItdddDbContextModelSnapshot.cs
│ ├── Persistence
│ │ ├── Circles
│ │ │ ├── EFCircleFactory.cs
│ │ │ └── EFCircleRepository.cs
│ │ ├── DataModels
│ │ │ ├── CircleDataModel.cs
│ │ │ ├── OwnerCircle.cs
│ │ │ ├── UserCircle.cs
│ │ │ └── UserDataModel.cs
│ │ ├── Shared
│ │ │ └── Factory
│ │ │ │ └── SimpleIncrementalFactory.cs
│ │ └── Users
│ │ │ ├── EFUserFactory.cs
│ │ │ └── EFUserRepository.cs
│ └── QueryService
│ │ └── EFQueryService
│ │ └── EFCircleQueryService.cs
├── InMemoryInfrastructure
│ ├── Foundation
│ │ ├── Factory
│ │ │ └── SerialNumberAssigner.cs
│ │ └── Repository
│ │ │ └── InMemoryCrudRepository.cs
│ ├── InMemoryInfrastructure.csproj
│ ├── Persistence
│ │ ├── Circles
│ │ │ ├── InMemoryCircleFactory.cs
│ │ │ └── InMemoryCircleRepository.cs
│ │ └── Users
│ │ │ ├── InMemoryUserFactory.cs
│ │ │ └── InMemoryUserRepository.cs
│ └── QueryService
│ │ └── InMemoryCircleQueryService.cs
├── IntroductionToDomainDrivenDesign.sln
├── README.md
├── SQLInfrastructure
│ ├── Persistence
│ │ ├── Circles
│ │ │ ├── SqlCircleBuilder.cs
│ │ │ ├── SqlCircleFactory.cs
│ │ │ └── SqlCircleRepository.cs
│ │ └── Users
│ │ │ ├── SqlUserFactory.cs
│ │ │ └── SqlUserRepository.cs
│ ├── Provider
│ │ └── DatabaseConnectionProvider.cs
│ ├── QueryService
│ │ └── SqlCircleQueryService.cs
│ └── SQLInfrastructure.csproj
├── SnsApplication.Tests
│ ├── SnsApplication.Tests.csproj
│ └── Users
│ │ └── UserRegisterTest.cs
├── SnsApplication
│ ├── Application
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ ├── Commons
│ │ │ │ └── CircleData.cs
│ │ │ ├── Create
│ │ │ │ ├── CircleCreateCommand.cs
│ │ │ │ └── CircleCreateResult.cs
│ │ │ ├── Delete
│ │ │ │ └── CircleDeleteCommand.cs
│ │ │ ├── Get
│ │ │ │ ├── CircleGetCommand.cs
│ │ │ │ └── CircleGetResult.cs
│ │ │ ├── GetAll
│ │ │ │ └── CircleGetAllResult.cs
│ │ │ ├── GetCandidates
│ │ │ │ ├── CircleGetCandidatesCommand.cs
│ │ │ │ └── CircleGetCandidatesResult.cs
│ │ │ ├── GetSummaries
│ │ │ │ ├── CircleGetSummariesCommand.cs
│ │ │ │ ├── CircleGetSummariesResult.cs
│ │ │ │ └── CircleSummaryData.cs
│ │ │ ├── ICircleQueryService.cs
│ │ │ ├── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ │ └── Update
│ │ │ │ └── CircleUpdateCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ ├── UserRegisterCommand.cs
│ │ │ └── UserRegisterResult.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── Domain
│ │ ├── Library
│ │ │ └── Models
│ │ │ │ └── Identity.cs
│ │ ├── Models
│ │ │ ├── Circles
│ │ │ │ ├── Circle.cs
│ │ │ │ ├── CircleFullException.cs
│ │ │ │ ├── CircleFullSpecification.cs
│ │ │ │ ├── CircleId.cs
│ │ │ │ ├── CircleName.cs
│ │ │ │ ├── ICircleFactory.cs
│ │ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ │ ├── IUserFactory.cs
│ │ │ │ ├── IUserRepository.cs
│ │ │ │ ├── User.cs
│ │ │ │ ├── UserId.cs
│ │ │ │ ├── UserName.cs
│ │ │ │ └── UserType.cs
│ │ └── Services
│ │ │ ├── CircleService.cs
│ │ │ └── UserService.cs
│ └── SnsApplication.csproj
└── WebApplication
│ ├── .gitignore
│ ├── ClientApp
│ ├── .gitignore
│ ├── README.md
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ └── manifest.json
│ ├── src
│ │ ├── App.js
│ │ ├── App.test.js
│ │ ├── App.tsx
│ │ ├── components
│ │ │ ├── Home.js
│ │ │ ├── Home.tsx
│ │ │ ├── Layout.js
│ │ │ ├── Layout.tsx
│ │ │ ├── NavMenu.css
│ │ │ ├── NavMenu.js
│ │ │ ├── NavMenu.tsx
│ │ │ ├── models
│ │ │ │ ├── circles
│ │ │ │ │ └── CircleResponse.ts
│ │ │ │ └── users
│ │ │ │ │ └── UserResponse.ts
│ │ │ └── pages
│ │ │ │ ├── circle
│ │ │ │ ├── add
│ │ │ │ │ ├── CircleAdd.js
│ │ │ │ │ └── CircleAdd.tsx
│ │ │ │ ├── detail
│ │ │ │ │ └── CircleDetail.tsx
│ │ │ │ ├── index
│ │ │ │ │ ├── CircleIndex.js
│ │ │ │ │ └── CircleIndex.tsx
│ │ │ │ ├── member
│ │ │ │ │ └── add
│ │ │ │ │ │ └── CircleMemberAdd.tsx
│ │ │ │ └── update
│ │ │ │ │ └── CircleUpdate.tsx
│ │ │ │ └── user
│ │ │ │ ├── add
│ │ │ │ ├── UserAdd.js
│ │ │ │ └── UserAdd.tsx
│ │ │ │ ├── detail
│ │ │ │ └── UserDetail.tsx
│ │ │ │ ├── index
│ │ │ │ ├── UserIndex.js
│ │ │ │ └── UserIndex.tsx
│ │ │ │ └── update
│ │ │ │ └── UserUpdate.tsx
│ │ ├── custom.css
│ │ ├── index.js
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ └── registerServiceWorker.js
│ └── tsconfig.json
│ ├── Config
│ └── Dependency
│ │ ├── DependencySetupFactory.cs
│ │ ├── EFDependencySetup.cs
│ │ ├── IDependencySetup.cs
│ │ ├── InMemoryModuleDependencySetup.cs
│ │ ├── ProductionDepencencySetup.cs
│ │ └── SqlConnectionDependencySetup.cs
│ ├── Controllers
│ ├── CircleController.cs
│ ├── HomeController.cs
│ ├── SampleDataController.cs
│ ├── UserController.cs
│ └── WeatherForecastController.cs
│ ├── Models
│ ├── Circles
│ │ ├── Commons
│ │ │ └── CircleResponseModel.cs
│ │ ├── Get
│ │ │ └── CircleGetResponseModel.cs
│ │ ├── GetCandidates
│ │ │ ├── CircleGetCandidatesRequestModel.cs
│ │ │ └── CircleGetCandidatesResponseModel.cs
│ │ ├── Index
│ │ │ └── CircleIndexResponseModel.cs
│ │ ├── JoinMember
│ │ │ └── CircleJoinMemberRequestModel.cs
│ │ ├── Post
│ │ │ ├── CirclePostRequestModel.cs
│ │ │ └── CirclePostResponseModel.cs
│ │ └── Put
│ │ │ └── CirclePutRequestModel.cs
│ └── Users
│ │ ├── Commons
│ │ └── UserResponseModel.cs
│ │ ├── Get
│ │ └── UserGetResponseModel.cs
│ │ ├── Index
│ │ └── UserIndexResponseModel.cs
│ │ ├── Post
│ │ ├── UserPostRequestModel.cs
│ │ └── UserPostResponseModel.cs
│ │ └── Put
│ │ └── UserPutRequestModel.cs
│ ├── Pages
│ ├── Error.cshtml
│ ├── Error.cshtml.cs
│ └── _ViewImports.cshtml
│ ├── Program.cs
│ ├── Properties
│ └── launchSettings.json
│ ├── Startup.cs
│ ├── WeatherForecast.cs
│ ├── WebApplication.csproj
│ ├── appsettings.Development.json
│ ├── appsettings.Development.json.bak
│ └── appsettings.json
├── README.md
└── SampleCodes
├── Chapter10
├── .gitignore
├── Chapter10.sln
├── _01
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── Domain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _01.csproj
├── _02
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── Domain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _02.csproj
├── _03
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _03.csproj
├── _04
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ └── _04.csproj
├── _05
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── Domain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _05.csproj
├── _06
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── Domain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _06.csproj
├── _07
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── Domain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _07.csproj
├── _09
│ ├── UnitOfWork.cs
│ └── _09.csproj
├── _10
│ ├── Entity.cs
│ ├── UnitOfWork.cs
│ └── _10.csproj
├── _11
│ ├── Domain
│ │ ├── Models
│ │ │ └── Users
│ │ │ │ ├── IUserFactory.cs
│ │ │ │ ├── IUserRepository.cs
│ │ │ │ ├── User.cs
│ │ │ │ ├── UserId.cs
│ │ │ │ ├── UserName.cs
│ │ │ │ └── UserService.cs
│ │ └── Shared
│ │ │ ├── Entity.cs
│ │ │ └── UnitOfWork.cs
│ └── _11.csproj
├── _12
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── Domain
│ │ ├── Models
│ │ │ └── Users
│ │ │ │ ├── IUserFactory.cs
│ │ │ │ ├── IUserRepository.cs
│ │ │ │ ├── User.cs
│ │ │ │ ├── UserId.cs
│ │ │ │ ├── UserName.cs
│ │ │ │ └── UserService.cs
│ │ └── Shared
│ │ │ ├── Entity.cs
│ │ │ └── UnitOfWork.cs
│ └── _12.csproj
├── _13
│ ├── Domain
│ │ ├── Models
│ │ │ └── Users
│ │ │ │ ├── IUserFactory.cs
│ │ │ │ ├── IUserRepository.cs
│ │ │ │ ├── User.cs
│ │ │ │ ├── UserId.cs
│ │ │ │ ├── UserName.cs
│ │ │ │ └── UserService.cs
│ │ └── Shared
│ │ │ └── IUnitOfWork.cs
│ ├── Infrastructure
│ │ ├── UnitOfWork.cs
│ │ └── UserRepository.cs
│ └── _13.csproj
├── _14
│ ├── Domain
│ │ ├── Models
│ │ │ └── Users
│ │ │ │ ├── IUserFactory.cs
│ │ │ │ ├── IUserRepository.cs
│ │ │ │ ├── User.cs
│ │ │ │ ├── UserId.cs
│ │ │ │ ├── UserName.cs
│ │ │ │ └── UserService.cs
│ │ └── Shared
│ │ │ └── IUnitOfWork.cs
│ ├── Infrastructure
│ │ ├── UnitOfWork.cs
│ │ └── UserRepository.cs
│ └── _14.csproj
├── _15
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── Domain
│ │ ├── Models
│ │ │ └── Users
│ │ │ │ ├── IUserFactory.cs
│ │ │ │ ├── IUserRepository.cs
│ │ │ │ ├── User.cs
│ │ │ │ ├── UserId.cs
│ │ │ │ ├── UserName.cs
│ │ │ │ └── UserService.cs
│ │ └── Shared
│ │ │ └── IUnitOfWork.cs
│ └── _15.csproj
├── _16
│ ├── Domain
│ │ ├── Models
│ │ │ └── Users
│ │ │ │ ├── IUserFactory.cs
│ │ │ │ ├── IUserRepository.cs
│ │ │ │ ├── User.cs
│ │ │ │ ├── UserId.cs
│ │ │ │ ├── UserName.cs
│ │ │ │ └── UserService.cs
│ │ └── Shared
│ │ │ └── IUnitOfWork.cs
│ ├── InMemoryUnitOfWork.cs
│ ├── InMemoryUserRepository.cs
│ └── _16.csproj
└── _17
│ ├── Class1.cs
│ ├── InMemoryRepository.cs
│ └── _17.csproj
├── Chapter11
├── .gitignore
├── Chapter11.sln
├── _01
│ ├── CircleId.cs
│ └── _01.csproj
├── _02
│ ├── CircleName.cs
│ └── _02.csproj
├── _03
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleId.cs
│ │ │ └── CircleName.cs
│ │ │ └── Users
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ └── _03.csproj
├── _04
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ └── _04.csproj
├── _05
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ └── _05.csproj
├── _06
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ └── _06.csproj
├── _07
│ ├── SnsApplication
│ │ └── Circles
│ │ │ └── Create
│ │ │ └── CircleCreateCommand.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ └── _07.csproj
├── _08
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ └── Create
│ │ │ │ └── CircleCreateCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _08.csproj
├── _09
│ ├── CircleJoinCommand.cs
│ └── _09.csproj
├── _10
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ ├── Create
│ │ │ │ └── CircleCreateCommand.cs
│ │ │ └── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _10.csproj
├── _11
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _11.csproj
└── _12
│ ├── SnsApplication
│ ├── Circles
│ │ ├── CanNotRegisterCircleException.cs
│ │ ├── CircleApplicationService.cs
│ │ ├── CircleNotFoundException.cs
│ │ ├── Create
│ │ │ └── CircleCreateCommand.cs
│ │ ├── Invite
│ │ │ └── CircleInviteCommand.cs
│ │ └── Join
│ │ │ └── CircleJoinCommand.cs
│ └── Users
│ │ ├── CanNotRegisterUserException.cs
│ │ ├── Commons
│ │ └── UserData.cs
│ │ ├── Delete
│ │ └── UserDeleteCommand.cs
│ │ ├── Get
│ │ ├── UserGetCommand.cs
│ │ └── UserGetResult.cs
│ │ ├── GetAll
│ │ └── UserGetAllResult.cs
│ │ ├── Register
│ │ └── UserRegisterCommand.cs
│ │ ├── Update
│ │ └── UserUpdateCommand.cs
│ │ ├── UserApplicationService.cs
│ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ └── Models
│ │ ├── CircleInvitations
│ │ ├── CircleInvitation.cs
│ │ └── ICircleInvitationRepository.cs
│ │ ├── Circles
│ │ ├── Circle.cs
│ │ ├── CircleFullException.cs
│ │ ├── CircleId.cs
│ │ ├── CircleName.cs
│ │ ├── CircleService.cs
│ │ ├── ICircleFactory.cs
│ │ └── ICircleRepository.cs
│ │ └── Users
│ │ ├── IUserFactory.cs
│ │ ├── IUserRepository.cs
│ │ ├── User.cs
│ │ ├── UserId.cs
│ │ ├── UserName.cs
│ │ └── UserService.cs
│ └── _12.csproj
├── Chapter12
├── .gitignore
├── Chapter12.sln
├── _01
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _01.csproj
├── _02
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ ├── Create
│ │ │ │ └── CircleCreateCommand.cs
│ │ │ └── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _02.csproj
├── _03
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _03.csproj
├── _04
│ ├── Program.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _04.csproj
├── _06
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ ├── Create
│ │ │ │ └── CircleCreateCommand.cs
│ │ │ └── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _06.csproj
├── _07
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _07.csproj
├── _08
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ ├── Create
│ │ │ │ └── CircleCreateCommand.cs
│ │ │ └── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _08.csproj
├── _09
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _09.csproj
├── _10
│ ├── EFInfrastructure
│ │ ├── Contexts
│ │ │ └── MyDbContext.cs
│ │ └── Persistence
│ │ │ ├── DataModels
│ │ │ └── UserDataModel.cs
│ │ │ └── Users
│ │ │ └── EFUserRepository.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ ├── _10.csproj
│ └── app.config
├── _11
│ ├── SnsDomain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserNotification.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ └── _11.csproj
├── _12
│ ├── EFInfrastructure
│ │ ├── Contexts
│ │ │ └── MyDbContext.cs
│ │ └── Persistence
│ │ │ ├── DataModels
│ │ │ └── UserDataModel.cs
│ │ │ └── Users
│ │ │ ├── EFUserRepository.cs
│ │ │ └── UserDataModelBuilder.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserNotification.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ ├── _12.csproj
│ └── app.config
├── _13
│ ├── SnsDomain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserNotification.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ └── _13.csproj
├── _14
│ ├── EFInfrastructure
│ │ ├── Contexts
│ │ │ └── MyDbContext.cs
│ │ └── Persistence
│ │ │ ├── DataModels
│ │ │ └── UserDataModel.cs
│ │ │ └── Users
│ │ │ ├── EFUserRepository.cs
│ │ │ └── UserDataModelBuilder.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ └── Users
│ │ │ ├── IUserNotification.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ ├── _14.csproj
│ └── app.config
├── _16
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _16.csproj
├── _17
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ ├── SqlInfrastructure
│ │ └── Persistence
│ │ │ └── Circles
│ │ │ └── CircleRepository.cs
│ └── _17.csproj
├── _18
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ ├── SqlInfrastructure
│ │ └── Persistence
│ │ │ └── Circles
│ │ │ └── CircleRepository.cs
│ └── _18.csproj
├── _19
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _19.csproj
├── _20
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ ├── Create
│ │ │ │ └── CircleCreateCommand.cs
│ │ │ ├── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ │ └── Update
│ │ │ │ └── CircleUpdateCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _20.csproj
├── _22
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _22.csproj
└── _23
│ ├── SnsDomain
│ └── Models
│ │ ├── Circles
│ │ ├── Circle.cs
│ │ ├── CircleFullException.cs
│ │ ├── CircleId.cs
│ │ ├── CircleName.cs
│ │ ├── CircleService.cs
│ │ ├── ICircleFactory.cs
│ │ └── ICircleRepository.cs
│ │ └── Users
│ │ ├── IUserFactory.cs
│ │ ├── IUserRepository.cs
│ │ ├── User.cs
│ │ ├── UserId.cs
│ │ ├── UserName.cs
│ │ └── UserService.cs
│ └── _23.csproj
├── Chapter13
├── .gitignore
├── Chapter13.sln
├── _01
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _01.csproj
├── _02
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ └── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _02.csproj
├── _03
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _03.csproj
├── _04
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _04.csproj
├── _05
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ └── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _05.csproj
├── _07
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── CircleMembers
│ │ │ └── CircleMembers.cs
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _07.csproj
├── _08
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── CircleMembers
│ │ │ ├── CircleMembers.cs
│ │ │ └── CircleMembersFullSpecification.cs
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _08.csproj
├── _09
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ └── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── CircleMembers
│ │ │ ├── CircleMembers.cs
│ │ │ └── CircleMembersFullSpecification.cs
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _09.csproj
├── _10
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _10.csproj
├── _11
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ ├── GetRecommend
│ │ │ │ ├── CircleGetRecommendRequest.cs
│ │ │ │ ├── CircleGetRecommendResult.cs
│ │ │ │ └── CircleSummaryData.cs
│ │ │ └── Join
│ │ │ │ └── CircleJoinCommand.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _11.csproj
├── _12
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleRecommendSpecification.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _12.csproj
├── _13
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ └── GetRecommend
│ │ │ │ ├── CircleGetRecommendRequest.cs
│ │ │ │ ├── CircleGetRecommendResult.cs
│ │ │ │ └── CircleSummaryData.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleRecommendSpecification.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _13.csproj
├── _14
│ ├── SnsDomain
│ │ ├── Library
│ │ │ └── Specifications
│ │ │ │ └── ISpecification.cs
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleRecommendSpecification.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _14.csproj
├── _15
│ ├── SnsDomain
│ │ ├── Library
│ │ │ └── Specifications
│ │ │ │ └── ISpecification.cs
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleRecommendSpecification.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _15.csproj
├── _16
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ └── GetRecommend
│ │ │ │ ├── CircleGetRecommendRequest.cs
│ │ │ │ ├── CircleGetRecommendResult.cs
│ │ │ │ └── CircleSummaryData.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ ├── Library
│ │ │ └── Specifications
│ │ │ │ └── ISpecification.cs
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleRecommendSpecification.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _16.csproj
├── _17
│ ├── SnsDomain
│ │ ├── Library
│ │ │ └── Specifications
│ │ │ │ └── ISpecification.cs
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ ├── SqlInfrastructure
│ │ └── Persistence
│ │ │ └── CircleRepository.cs
│ └── _17.csproj
├── _18
│ ├── SnsApplication
│ │ ├── Circles
│ │ │ ├── CanNotRegisterCircleException.cs
│ │ │ ├── CircleApplicationService.cs
│ │ │ ├── CircleNotFoundException.cs
│ │ │ └── GetSummaries
│ │ │ │ ├── CircleGetSummariesCommand.cs
│ │ │ │ ├── CircleGetSummariesResult.cs
│ │ │ │ └── CircleSummaryData.cs
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ │ ├── Library
│ │ │ └── Specifications
│ │ │ │ └── ISpecification.cs
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _18.csproj
├── _19
│ ├── SnsDomain
│ │ ├── Library
│ │ │ └── Specifications
│ │ │ │ └── ISpecification.cs
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ ├── SqlInfrastructure
│ │ ├── Provider
│ │ │ └── DatabaseConnectionProvider.cs
│ │ └── Services
│ │ │ └── Circles
│ │ │ ├── CircleQueryService.cs
│ │ │ └── GetSummaries
│ │ │ ├── CircleGetSummariesCommand.cs
│ │ │ ├── CircleGetSummariesResult.cs
│ │ │ └── CircleSummaryData.cs
│ └── _19.csproj
├── _20
│ ├── EFInfrastructure
│ │ ├── Contexts
│ │ │ └── MyDbContext.cs
│ │ ├── Persistence
│ │ │ └── DataModels
│ │ │ │ ├── CircleDataModel.cs
│ │ │ │ ├── OwnerCircle.cs
│ │ │ │ ├── UserCircle.cs
│ │ │ │ └── UserDataModel.cs
│ │ └── Services
│ │ │ └── Circles
│ │ │ ├── EFCircleQueryService.cs
│ │ │ └── GetSummaries
│ │ │ ├── CircleGetSummariesCommand.cs
│ │ │ ├── CircleGetSummariesResult.cs
│ │ │ └── CircleSummaryData.cs
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _20.csproj
├── _21
│ ├── SnsDomain
│ │ └── Models
│ │ │ ├── Circles
│ │ │ ├── Circle.cs
│ │ │ ├── CircleFullException.cs
│ │ │ ├── CircleFullSpecification.cs
│ │ │ ├── CircleId.cs
│ │ │ ├── CircleName.cs
│ │ │ ├── CircleService.cs
│ │ │ ├── ICircleFactory.cs
│ │ │ └── ICircleRepository.cs
│ │ │ └── Users
│ │ │ ├── IUserFactory.cs
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _21.csproj
└── _22
│ ├── SnsApplication
│ ├── Circles
│ │ ├── CanNotRegisterCircleException.cs
│ │ ├── CircleApplicationService.cs
│ │ ├── CircleNotFoundException.cs
│ │ └── GetSummaries
│ │ │ ├── CircleGetSummariesCommand.cs
│ │ │ ├── CircleGetSummariesResult.cs
│ │ │ └── CircleSummaryData.cs
│ └── Users
│ │ ├── CanNotRegisterUserException.cs
│ │ ├── Commons
│ │ └── UserData.cs
│ │ ├── Delete
│ │ └── UserDeleteCommand.cs
│ │ ├── Get
│ │ ├── UserGetCommand.cs
│ │ └── UserGetResult.cs
│ │ ├── GetAll
│ │ └── UserGetAllResult.cs
│ │ ├── Register
│ │ └── UserRegisterCommand.cs
│ │ ├── Update
│ │ └── UserUpdateCommand.cs
│ │ ├── UserApplicationService.cs
│ │ └── UserNotFoundException.cs
│ ├── SnsDomain
│ └── Models
│ │ ├── Circles
│ │ ├── Circle.cs
│ │ ├── CircleFullException.cs
│ │ ├── CircleFullSpecification.cs
│ │ ├── CircleId.cs
│ │ ├── CircleName.cs
│ │ ├── CircleService.cs
│ │ ├── ICircleFactory.cs
│ │ └── ICircleRepository.cs
│ │ └── Users
│ │ ├── IUserFactory.cs
│ │ ├── IUserRepository.cs
│ │ ├── User.cs
│ │ ├── UserId.cs
│ │ ├── UserName.cs
│ │ └── UserService.cs
│ └── _22.csproj
├── Chapter15
├── .gitignore
├── Chapter15.sln
├── _04
│ ├── _04.csproj
│ ├── ユーザ.cs
│ └── ユーザ名.cs
├── _05
│ ├── Password.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _05.csproj
├── _06
│ ├── Authenticate
│ │ └── Model
│ │ │ └── Users
│ │ │ ├── Password.cs
│ │ │ ├── User.cs
│ │ │ └── UserId.cs
│ ├── Core
│ │ └── Model
│ │ │ └── Users
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ └── _06.csproj
├── _07
│ ├── Authenticate
│ │ └── Model
│ │ │ └── Users
│ │ │ ├── Password.cs
│ │ │ ├── User.cs
│ │ │ └── UserName.cs
│ ├── Core
│ │ └── Model
│ │ │ └── Users
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ └── UserName.cs
│ └── _07.csproj
└── _08
│ ├── Authenticate
│ └── Model
│ │ └── Users
│ │ ├── Password.cs
│ │ ├── User.cs
│ │ └── UserName.cs
│ ├── Core
│ └── Model
│ │ └── Users
│ │ ├── User.cs
│ │ ├── UserId.cs
│ │ └── UserName.cs
│ └── _08.csproj
├── Chapter2
├── .gitignore
├── Chapter2.sln
├── _01
│ ├── Program.cs
│ └── _01.csproj
├── _02
│ ├── Program.cs
│ └── _02.csproj
├── _03
│ ├── Program.cs
│ └── _03.csproj
├── _04
│ ├── FullName.cs
│ └── _04.csproj
├── _05
│ ├── FullName.cs
│ ├── Program.cs
│ └── _05.csproj
├── _06
│ ├── FullName.cs
│ ├── Program.cs
│ └── _06.csproj
├── _07
│ ├── Program.cs
│ └── _07.csproj
├── _08
│ ├── Program.cs
│ └── _08.csproj
├── _09
│ ├── Program.cs
│ └── _09.csproj
├── _10
│ ├── FullName.cs
│ ├── Program.cs
│ └── _10.csproj
├── _11
│ ├── Program.cs
│ └── _11.csproj
├── _12
│ ├── FullName.cs
│ ├── Program.cs
│ └── _12.csproj
├── _13
│ ├── Program.cs
│ └── _13.csproj
├── _14
│ ├── FullName.cs
│ ├── Program.cs
│ └── _14.csproj
├── _15
│ ├── FullName.cs
│ ├── Program.cs
│ └── _15.csproj
├── _16
│ ├── Program.cs
│ └── _16.csproj
├── _17
│ ├── FullName.cs
│ ├── Program.cs
│ └── _17.csproj
├── _18
│ ├── FullName.cs
│ └── _18.csproj
├── _19
│ ├── FullName.cs
│ ├── Program.cs
│ └── _19.csproj
├── _20
│ ├── FullName.cs
│ └── _20.csproj
├── _21
│ ├── FirstName.cs
│ ├── FullName.cs
│ ├── LastName.cs
│ └── _21.csproj
├── _22
│ ├── FirstName.cs
│ ├── FullName.cs
│ ├── LastName.cs
│ └── _22.csproj
├── _23
│ ├── FirstName.cs
│ ├── FullName.cs
│ ├── LastName.cs
│ └── _23.csproj
├── _24
│ ├── FullName.cs
│ └── _24.csproj
├── _25
│ ├── Name.cs
│ └── _25.csproj
├── _26
│ ├── FullName.cs
│ ├── Name.cs
│ ├── Program.cs
│ └── _26.csproj
├── _27
│ ├── Money.cs
│ └── _27.csproj
├── _28
│ ├── Money.cs
│ └── _28.csproj
├── _29
│ ├── Money.cs
│ ├── Program.cs
│ └── _29.csproj
├── _30
│ ├── Program.cs
│ └── _30.csproj
├── _31
│ ├── Money.cs
│ ├── Program.cs
│ └── _31.csproj
├── _32
│ ├── Money.cs
│ ├── Rate.cs
│ └── _32.csproj
├── _33
│ ├── Program.cs
│ └── _33.csproj
├── _34
│ ├── AnyClass.cs
│ └── _34.csproj
├── _35
│ ├── ModelNumber.cs
│ └── _35.csproj
├── _36
│ ├── Program.cs
│ └── _36.csproj
├── _37
│ ├── Program.cs
│ └── _37.csproj
├── _38
│ ├── UserName.cs
│ └── _38.csproj
├── _39
│ ├── UserName.cs
│ └── _39.csproj
├── _40
│ ├── UserId.cs
│ └── _40.csproj
├── _41
│ ├── UserName.cs
│ └── _41.csproj
├── _42
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _42.csproj
├── _43
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _43.csproj
├── _44
│ ├── Program.cs
│ ├── User.cs
│ └── _44.csproj
├── _45
│ ├── Program.cs
│ ├── User.cs
│ └── _45.csproj
├── _46
│ ├── UserName.cs
│ └── _46.csproj
└── _47
│ ├── Program.cs
│ ├── User.cs
│ ├── UserName.cs
│ └── _47.csproj
├── Chapter3
├── .gitignore
├── Chapter3.sln
├── _01
│ ├── User.cs
│ └── _01.csproj
├── _02
│ ├── User.cs
│ └── _02.csproj
├── _03
│ ├── MyProgram.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserChangeNameRequest.cs
│ └── _03.csproj
├── _04
│ ├── User.cs
│ ├── UserId.cs
│ └── _04.csproj
├── _05
│ ├── User.cs
│ ├── UserId.cs
│ └── _05.csproj
├── _06
│ ├── User.cs
│ ├── UserId.cs
│ └── _06.csproj
├── _07
│ ├── MyProgram.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ └── _07.csproj
├── _08
│ ├── User.cs
│ └── _08.csproj
└── _09
│ ├── UserName.cs
│ └── _09.csproj
├── Chapter4
├── .gitignore
├── Chapter4.sln
├── _01
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _01.csproj
├── _02
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _02.csproj
├── _03
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _03.csproj
├── _04
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ ├── _04.csproj
│ └── app.config
├── _05
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ ├── _05.csproj
│ └── app.config
├── _06
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _06.csproj
├── _07
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _07.csproj
├── _08
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _08.csproj
├── _09
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _09.csproj
├── _10
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _10.csproj
├── _11
│ ├── EntryPoint.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ ├── _11.csproj
│ └── app.config
├── _12
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _12.csproj
├── _13
│ ├── Baggage.cs
│ ├── BaggageId.cs
│ ├── PhysicalDistributionBase.cs
│ └── _13.csproj
├── _14
│ ├── Baggage.cs
│ ├── BaggageId.cs
│ ├── PhysicalDistributionBase.cs
│ └── _14.csproj
└── _15
│ ├── Baggage.cs
│ ├── BaggageId.cs
│ ├── PhysicalDistributionBase.cs
│ ├── TransportService.cs
│ └── _15.csproj
├── Chapter5
├── .gitignore
├── Chapter5.sln
├── _01
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ ├── _01.csproj
│ └── app.config
├── _02
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _02.csproj
├── _03
│ ├── IUserRepository.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _03.csproj
├── _04
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _04.csproj
├── _05
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _05.csproj
├── _06
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _06.csproj
├── _07
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _07.csproj
├── _08
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _08.csproj
├── _09
│ ├── IUserRepository.cs
│ ├── None.cs
│ ├── Option.cs
│ ├── Some.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _09.csproj
├── _10
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ ├── _10.csproj
│ └── app.config
├── _11
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ ├── _11.csproj
│ └── app.config
├── _12
│ ├── EntryPoint.cs
│ ├── IUserRepository.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ ├── UserService.cs
│ ├── _12.csproj
│ └── app.config
├── _13
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _13.csproj
├── _14
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _14.csproj
├── _15
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _15.csproj
├── _16
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _16.csproj
├── _17
│ ├── EntryPoint.cs
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _17.csproj
├── _18
│ ├── EFUserRepository.cs
│ ├── IUserRepository.cs
│ ├── MyDbContext.cs
│ ├── User.cs
│ ├── UserDataModel.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── _18.csproj
│ └── app.config
├── _19
│ ├── UserDataModel.cs
│ └── _19.csproj
├── _20
│ ├── User.cs
│ └── _20.csproj
├── _21
│ ├── EFUserRepository.cs
│ ├── EntryPoint.cs
│ ├── IUserRepository.cs
│ ├── MyDbContext.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserDataModel.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ ├── _21.csproj
│ └── app.config
├── _22
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _22.csproj
├── _23
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _23.csproj
├── _24
│ ├── Address.cs
│ ├── Email.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _24.csproj
├── _25
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _25.csproj
├── _26
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _26.csproj
├── _27
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _27.csproj
└── _28
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _28.csproj
├── Chapter6
├── .gitignore
├── Chapter6.sln
├── _01
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _01.csproj
├── _02
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _02.csproj
├── _03
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _03.csproj
├── _04
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _04.csproj
├── _05
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _05.csproj
├── _06
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _06.csproj
├── _07
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _07.csproj
├── _08
│ ├── UserData.cs
│ └── _08.csproj
├── _09
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _09.csproj
├── _10
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _10.csproj
├── _11
│ ├── User.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _11.csproj
├── _12
│ ├── App.config
│ ├── Program.cs
│ ├── User.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _12.csproj
├── _13
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _13.csproj
├── _14
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _14.csproj
├── _15
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ └── _15.csproj
├── _16
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ └── _16.csproj
├── _17
│ ├── UserUpdateCommand.cs
│ └── _17.csproj
├── _18
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ ├── UserUpdateCommand.cs
│ └── _18.csproj
├── _19
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── MailAddress.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ ├── UserUpdateCommand.cs
│ └── _19.csproj
├── _20
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserDeleteCommand.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ ├── UserUpdateCommand.cs
│ └── _20.csproj
├── _21
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserDeleteCommand.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ ├── UserUpdateCommand.cs
│ └── _21.csproj
├── _22
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserDeleteCommand.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ ├── UserUpdateCommand.cs
│ └── _22.csproj
├── _23
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserDeleteCommand.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserUpdateCommand.cs
│ └── _23.csproj
├── _24
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _24.csproj
├── _25
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserDeleteCommand.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserUpdateCommand.cs
│ └── _25.csproj
├── _26
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserDeleteCommand.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserUpdateCommand.cs
│ └── _26.csproj
├── _27
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserDeleteCommand.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ ├── UserUpdateCommand.cs
│ └── _27.csproj
├── _28
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserDeleteCommand.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ ├── UserUpdateCommand.cs
│ └── _28.csproj
├── _29
│ ├── Class1.cs
│ ├── IUserRepository.cs
│ ├── MailAddress.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserService.cs
│ └── _29.csproj
├── _30
│ ├── LowCohesion.cs
│ └── _30.csproj
├── _31
│ ├── HighCohesionA.cs
│ ├── HighCohesionB.cs
│ └── _31.csproj
├── _32
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserDeleteCommand.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserRegisterCommand.cs
│ ├── UserService.cs
│ └── _32.csproj
├── _33
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRegisterCommand.cs
│ ├── UserRegisterService.cs
│ ├── UserService.cs
│ └── _33.csproj
├── _34
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserDeleteCommand.cs
│ ├── UserDeleteService.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserNotFoundException.cs
│ ├── UserService.cs
│ └── _34.csproj
├── _35
│ ├── IUserRegisterService.cs
│ ├── UserRegisterCommand.cs
│ └── _35.csproj
├── _36
│ ├── Client.cs
│ ├── IUserRegisterService.cs
│ ├── UserRegisterCommand.cs
│ └── _36.csproj
├── _37
│ ├── IUserRegisterService.cs
│ ├── MockUserRegisterService.cs
│ ├── UserRegisterCommand.cs
│ └── _37.csproj
├── _38
│ ├── ComplexException.cs
│ ├── ExceptionUserRegisterService.cs
│ ├── IUserRegisterService.cs
│ ├── UserRegisterCommand.cs
│ └── _38.csproj
├── _39
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRegisterCommand.cs
│ ├── UserService.cs
│ └── _39.csproj
└── _40
│ ├── CanNotRegisterUserException.cs
│ ├── IUserRepository.cs
│ ├── MailUtility.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRegisterCommand.cs
│ ├── UserService.cs
│ └── _40.csproj
├── Chapter7
├── .gitignore
├── Chapter7.sln
├── _01
│ ├── ObjectA.cs
│ ├── ObjectB.cs
│ └── _01.csproj
├── _02
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ ├── _02.csproj
│ └── app.config
├── _03
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ ├── _03.csproj
│ └── app.config
├── _04
│ ├── IUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _04.csproj
├── _05
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _05.csproj
├── _06
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ ├── _06.csproj
│ └── app.config
├── _07
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── ServiceLocator.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ ├── _07.csproj
│ └── app.config
├── _08
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── ServiceLocator.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ └── _08.csproj
├── _09
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── ServiceLocator.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ ├── UserRepository.cs
│ └── _09.csproj
├── _10
│ ├── IUserRepository.cs
│ ├── ServiceLocator.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _10.csproj
├── _11
│ ├── IUserRepository.cs
│ ├── ServiceLocator.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _11.csproj
├── _12
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── ServiceLocator.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _12.csproj
├── _13
│ ├── IFooRepository.cs
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── ServiceLocator.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _13.csproj
├── _14
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _14.csproj
├── _15
│ ├── IFooRepository.cs
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _15.csproj
├── _16
│ ├── IFooRepository.cs
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _16.csproj
└── _17
│ ├── IUserRepository.cs
│ ├── InMemoryUserRepository.cs
│ ├── Program.cs
│ ├── ServiceLocator.cs
│ ├── User.cs
│ ├── UserApplicationService.cs
│ ├── UserData.cs
│ ├── UserId.cs
│ ├── UserName.cs
│ └── _17.csproj
├── Chapter8
├── .gitignore
├── Chapter8.sln
├── _01_to_03
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── InMemoryInfrastructure
│ │ └── Users
│ │ │ └── InMemoryUserRepository.cs
│ ├── Library
│ │ └── Objects
│ │ │ └── ObjectValueStringBuilder.cs
│ ├── Models
│ │ └── Users
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ ├── Program.cs
│ └── _01_to_03.csproj
├── _04_to_12
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ ├── UserRegisterCommand.cs
│ │ │ └── UserRegisterResult.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── Config
│ │ └── Dependency
│ │ │ ├── DependencySetupFactory.cs
│ │ │ ├── IDependencySetup.cs
│ │ │ ├── InMemoryModuleDependencySetup.cs
│ │ │ └── SqlConnectionDependencySetup.cs
│ ├── Controllers
│ │ └── UserController.cs
│ ├── InMemoryInfrastructure
│ │ └── InMemoryUserRepository.cs
│ ├── Library
│ │ └── Objects
│ │ │ └── ObjectValueStringBuilder.cs
│ ├── Models
│ │ └── Users
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── SqlInfrastructure
│ │ ├── DatabaseConnectionProvider.cs
│ │ └── SqlUserRepository.cs
│ ├── Startup.cs
│ ├── ViewModels
│ │ └── Users
│ │ │ ├── Commons
│ │ │ └── UserResponseModel.cs
│ │ │ ├── Get
│ │ │ └── UserGetResponseModel.cs
│ │ │ ├── Index
│ │ │ └── UserIndexResponseModel.cs
│ │ │ ├── Post
│ │ │ ├── UserPostRequestModel.cs
│ │ │ └── UserPostResponseModel.cs
│ │ │ └── Put
│ │ │ └── UserPutRequestModel.cs
│ ├── _04_to_12.csproj
│ ├── appsettings.Development.json
│ └── appsettings.json
├── _13_to_17.App
│ ├── Application
│ │ └── Users
│ │ │ ├── CanNotRegisterUserException.cs
│ │ │ ├── Commons
│ │ │ └── UserData.cs
│ │ │ ├── Delete
│ │ │ └── UserDeleteCommand.cs
│ │ │ ├── Get
│ │ │ ├── UserGetCommand.cs
│ │ │ └── UserGetResult.cs
│ │ │ ├── GetAll
│ │ │ └── UserGetAllResult.cs
│ │ │ ├── Register
│ │ │ └── UserRegisterCommand.cs
│ │ │ ├── Update
│ │ │ └── UserUpdateCommand.cs
│ │ │ ├── UserApplicationService.cs
│ │ │ └── UserNotFoundException.cs
│ ├── InMemoryInfrastructure
│ │ └── Users
│ │ │ └── InMemoryUserRepository.cs
│ ├── Library
│ │ └── Objects
│ │ │ └── ObjectValueStringBuilder.cs
│ ├── Models
│ │ └── Users
│ │ │ ├── IUserRepository.cs
│ │ │ ├── User.cs
│ │ │ ├── UserId.cs
│ │ │ ├── UserName.cs
│ │ │ └── UserService.cs
│ └── _13_to_17.App.csproj
└── _13_to_17.Tests
│ ├── Users
│ └── UserRegisterTest.cs
│ └── _13_to_17.Tests.csproj
└── Chapter9
├── .gitignore
├── Chapter9.sln
├── _01
├── User.cs
├── UserId.cs
├── UserName.cs
└── _01.csproj
├── _02
├── User.cs
├── UserId.cs
├── UserName.cs
├── _02.csproj
└── app.config
├── _03
├── IUserFactory.cs
├── User.cs
├── UserId.cs
├── UserName.cs
└── _03.csproj
├── _04
├── IUserFactory.cs
├── User.cs
├── UserFactory.cs
├── UserId.cs
├── UserName.cs
├── _04.csproj
└── app.config
├── _05
├── User.cs
├── UserId.cs
├── UserName.cs
└── _05.csproj
├── _06
├── CanNotRegisterUserException.cs
├── IUserFactory.cs
├── IUserRepository.cs
├── User.cs
├── UserApplicationService.cs
├── UserId.cs
├── UserName.cs
├── UserRegisterCommand.cs
├── UserService.cs
└── _06.csproj
├── _07
├── IUserFactory.cs
├── InMemoryUserFactory.cs
├── User.cs
├── UserId.cs
├── UserName.cs
└── _07.csproj
├── _08
├── SnsDomain
│ └── Models
│ │ └── Users
│ │ ├── IUserFactory.cs
│ │ ├── User.cs
│ │ ├── UserId.cs
│ │ └── UserName.cs
└── _08.csproj
├── _09
├── User.cs
├── UserId.cs
├── UserName.cs
└── _09.csproj
├── _10
├── IUserRepository.cs
├── User.cs
├── UserId.cs
├── UserName.cs
└── _10.csproj
├── _11
├── CanNotRegisterUserException.cs
├── IUserRepository.cs
├── User.cs
├── UserApplicationService.cs
├── UserId.cs
├── UserName.cs
├── UserRegisterCommand.cs
├── UserService.cs
└── _11.csproj
├── _12
├── ApiResponse.cs
├── IUserRepository.cs
├── NumberingApi.cs
├── User.cs
├── UserId.cs
├── UserName.cs
├── UserRepository.cs
└── _12.csproj
├── _13
├── Circle.cs
├── CircleName.cs
├── Program.cs
├── User.cs
├── UserId.cs
├── UserName.cs
└── _13.csproj
└── _14
├── Circle.cs
├── CircleName.cs
├── User.cs
├── UserId.cs
├── UserName.cs
└── _14.csproj
/CleanLike/CommonLibrary/CommonLibrary.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/Create/ICircleCreateInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.Create
4 | {
5 | public interface ICircleCreateInputPort: IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/Delete/CircleDeleteOutputData.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.Delete
4 | {
5 | public class CircleDeleteOutputData : IOutputData
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/Delete/ICircleDeleteInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.Delete
4 | {
5 | public interface ICircleDeleteInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/Get/ICIrcleGetInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.Get
4 | {
5 | public interface ICIrcleGetInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/GetAll/CircleGetAllInputData.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.GetAll
4 | {
5 | public class CircleGetAllInputData : IInputData
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/GetAll/ICIrcleGetAllInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.GetAll
4 | {
5 | public interface ICIrcleGetAllInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/GetCandidates/ICircleGetCandidatesInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.GetCandidates
4 | {
5 | public interface ICircleGetCandidatesInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/GetSummaries/ICircleGetSummariesInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.GetSummaries
4 | {
5 | public interface ICircleGetSummariesInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/Join/CircleJoinOutputData.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.Join
4 | {
5 | public class CircleJoinOutputData : IOutputData
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/Join/ICircleJoinInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.Join
4 | {
5 | public interface ICircleJoinInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/Update/CircleUpdateOutputData.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.Update
4 | {
5 | public class CircleUpdateOutputData : IOutputData
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Circles/Update/ICircleUpdateInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Circles.Update
4 | {
5 | public interface ICircleUpdateInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/SnsApplicationPort.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Users/Delete/IUserDeleteInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Users.Delete
4 | {
5 | public interface IUserDeleteInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Users/Delete/UserDeleteOutputData.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Users.Delete
4 | {
5 | public class UserDeleteOutputData : IOutputData
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Users/Get/IUserGetInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Users.Get
4 | {
5 | public interface IUserGetInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Users/GetAll/IUserGetAllInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Users.GetAll
4 | {
5 | public interface IUserGetAllInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Users/GetAll/UserGetAllInputData.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Users.GetAll
4 | {
5 | public class UserGetAllInputData : IInputData
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Users/Register/IUserRegisterInputPort.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Users.Register
4 | {
5 | public interface IUserRegisterInputPort : IInputPort
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Users/Update/IUserUpdateInputPort.cs:
--------------------------------------------------------------------------------
1 |
2 | using ClArc.Sync.Core;
3 |
4 | namespace SnsApplicationPort.Users.Update
5 | {
6 | public interface IUserUpdateInputPort : IInputPort
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/CleanLike/SnsApplicationPort/Users/Update/UserUpdateOutputData.cs:
--------------------------------------------------------------------------------
1 | using ClArc.Sync.Core;
2 |
3 | namespace SnsApplicationPort.Users.Update
4 | {
5 | public class UserUpdateOutputData : IOutputData
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/SnsDomain/Models/Circles/CircleId.cs:
--------------------------------------------------------------------------------
1 | using SnsDomain.Library.Models;
2 |
3 | namespace SnsDomain.Models.Circles
4 | {
5 | public class CircleId : Identity
6 | {
7 | public CircleId(string value) : base(value)
8 | {
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CleanLike/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using SnsDomain.Models.Users;
2 |
3 | namespace SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/CleanLike/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/CleanLike/SnsDomain/Models/Users/UserType.cs:
--------------------------------------------------------------------------------
1 | namespace SnsDomain.Models.Users
2 | {
3 | public enum UserType
4 | {
5 | Normal,
6 | Premium
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/ClientApp/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nrslib/itddd/37f2e9339337c6d264a5025fd35597b4dfdd61de/CleanLike/WebApplication/ClientApp/public/favicon.ico
--------------------------------------------------------------------------------
/CleanLike/WebApplication/ClientApp/src/components/models/circles/CircleResponse.ts:
--------------------------------------------------------------------------------
1 | export default class CircleResponse {
2 | id: string = '';
3 | name: string = '';
4 | ownerId: string = '';
5 | memberIds: string[] = [];
6 | }
7 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/ClientApp/src/components/models/users/UserResponse.ts:
--------------------------------------------------------------------------------
1 | export default class UserResponse {
2 | public id: string = '';
3 | public name: string = '';
4 | }
5 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/ClientApp/src/custom.css:
--------------------------------------------------------------------------------
1 | /* Provide sufficient contrast against white background */
2 | a {
3 | color: #0366d6;
4 | }
5 |
6 | code {
7 | color: #E01A76;
8 | }
9 |
10 | .btn-primary {
11 | color: #fff;
12 | background-color: #1b6ec2;
13 | border-color: #1861ac;
14 | }
15 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/ClientApp/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/Config/Dependency/IDependencySetup.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.DependencyInjection;
2 |
3 | namespace WebApplication.Config.Dependency
4 | {
5 | public interface IDependencySetup
6 | {
7 | void Run(IServiceCollection services);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/Config/Dependency/ProductionDepencencySetup.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace WebApplication.Config.Dependency
7 | {
8 | public class ProductionDepencencySetup
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/Models/Circles/GetCandidates/CircleGetCandidatesRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.GetCandidates
2 | {
3 | public class CircleGetCandidatesRequestModel
4 | {
5 | public int Page { get; set; }
6 | public int Size { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/Models/Circles/JoinMember/CircleJoinMemberRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.JoinMember
2 | {
3 | public class CircleJoinMemberRequestModel
4 | {
5 | public string AddUserId { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/Models/Circles/Post/CirclePostRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.Post
2 | {
3 | public class CirclePostRequestModel
4 | {
5 | public string CircleName { get; set; }
6 | public string OwnerId { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/Models/Circles/Put/CirclePutRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.Put
2 | {
3 | public class CirclePutRequestModel
4 | {
5 | public string Name { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/Models/Users/Post/UserPostRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Users.Post
2 | {
3 | public class UserPostRequestModel
4 | {
5 | public string UserName { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/Models/Users/Put/UserPutRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Users.Put
2 | {
3 | public class UserPutRequestModel
4 | {
5 | public string Name { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using WebApplication
2 | @namespace WebApplication.Pages
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | },
9 | "Dependency": {
10 | "SetupName": "InMemoryModuleDependencySetup"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/CleanLike/WebApplication/appsettings.Development.json.bak:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Layered/CommonLibrary/CommonLibrary.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Layered/SnsApplication/Circles/Get/CircleGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace SnsApplication.Circles.Get
2 | {
3 | public class CircleGetCommand
4 | {
5 | public CircleGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Layered/SnsApplication/SnsApplication.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Layered/SnsApplication/Users/Delete/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace SnsApplication.Users.Delete
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Layered/SnsApplication/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace SnsApplication.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Layered/SnsDomain/Models/Circles/CircleId.cs:
--------------------------------------------------------------------------------
1 | using SnsDomain.Library.Models;
2 |
3 | namespace SnsDomain.Models.Circles
4 | {
5 | public class CircleId : Identity
6 | {
7 | public CircleId(string value) : base(value)
8 | {
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Layered/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using SnsDomain.Models.Users;
2 |
3 | namespace SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Layered/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered/SnsDomain/Models/Users/UserType.cs:
--------------------------------------------------------------------------------
1 | namespace SnsDomain.Models.Users
2 | {
3 | public enum UserType
4 | {
5 | Normal,
6 | Premium
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Layered/WebApplication/ClientApp/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nrslib/itddd/37f2e9339337c6d264a5025fd35597b4dfdd61de/Layered/WebApplication/ClientApp/public/favicon.ico
--------------------------------------------------------------------------------
/Layered/WebApplication/ClientApp/src/components/models/circles/CircleResponse.ts:
--------------------------------------------------------------------------------
1 | export default class CircleResponse {
2 | id: string = '';
3 | name: string = '';
4 | ownerId: string = '';
5 | memberIds: string[] = [];
6 | }
7 |
--------------------------------------------------------------------------------
/Layered/WebApplication/ClientApp/src/components/models/users/UserResponse.ts:
--------------------------------------------------------------------------------
1 | export default class UserResponse {
2 | public id: string = '';
3 | public name: string = '';
4 | }
5 |
--------------------------------------------------------------------------------
/Layered/WebApplication/ClientApp/src/custom.css:
--------------------------------------------------------------------------------
1 | /* Provide sufficient contrast against white background */
2 | a {
3 | color: #0366d6;
4 | }
5 |
6 | code {
7 | color: #E01A76;
8 | }
9 |
10 | .btn-primary {
11 | color: #fff;
12 | background-color: #1b6ec2;
13 | border-color: #1861ac;
14 | }
15 |
--------------------------------------------------------------------------------
/Layered/WebApplication/ClientApp/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/Layered/WebApplication/Config/Dependency/IDependencySetup.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.DependencyInjection;
2 |
3 | namespace WebApplication.Config.Dependency
4 | {
5 | public interface IDependencySetup
6 | {
7 | void Run(IServiceCollection services);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Layered/WebApplication/Config/Dependency/ProductionDepencencySetup.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace WebApplication.Config.Dependency
7 | {
8 | public class ProductionDepencencySetup
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Layered/WebApplication/Models/Circles/GetCandidates/CircleGetCandidatesRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.GetCandidates
2 | {
3 | public class CircleGetCandidatesRequestModel
4 | {
5 | public int Page { get; set; }
6 | public int Size { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Layered/WebApplication/Models/Circles/JoinMember/CircleJoinMemberRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.JoinMember
2 | {
3 | public class CircleJoinMemberRequestModel
4 | {
5 | public string AddUserId { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered/WebApplication/Models/Circles/Post/CirclePostRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.Post
2 | {
3 | public class CirclePostRequestModel
4 | {
5 | public string CircleName { get; set; }
6 | public string OwnerId { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Layered/WebApplication/Models/Circles/Put/CirclePutRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.Put
2 | {
3 | public class CirclePutRequestModel
4 | {
5 | public string Name { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered/WebApplication/Models/Users/Post/UserPostRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Users.Post
2 | {
3 | public class UserPostRequestModel
4 | {
5 | public string UserName { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered/WebApplication/Models/Users/Put/UserPutRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Users.Put
2 | {
3 | public class UserPutRequestModel
4 | {
5 | public string Name { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered/WebApplication/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using WebApplication
2 | @namespace WebApplication.Pages
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/Layered/WebApplication/appsettings.Development.json.bak:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/CommonLibrary/CommonLibrary.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/SnsApplication/Domain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using SnsApplication.Domain.Models.Users;
2 |
3 | namespace SnsApplication.Domain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/SnsApplication/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace SnsApplication.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/SnsApplication/Domain/Models/Users/UserType.cs:
--------------------------------------------------------------------------------
1 | namespace SnsApplication.Domain.Models.Users
2 | {
3 | public enum UserType
4 | {
5 | Normal,
6 | Premium
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/ClientApp/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nrslib/itddd/37f2e9339337c6d264a5025fd35597b4dfdd61de/Layered_UsingInternal/WebApplication/ClientApp/public/favicon.ico
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/ClientApp/src/components/models/circles/CircleResponse.ts:
--------------------------------------------------------------------------------
1 | export default class CircleResponse {
2 | id: string = '';
3 | name: string = '';
4 | ownerId: string = '';
5 | memberIds: string[] = [];
6 | }
7 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/ClientApp/src/components/models/users/UserResponse.ts:
--------------------------------------------------------------------------------
1 | export default class UserResponse {
2 | public id: string = '';
3 | public name: string = '';
4 | }
5 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/ClientApp/src/custom.css:
--------------------------------------------------------------------------------
1 | /* Provide sufficient contrast against white background */
2 | a {
3 | color: #0366d6;
4 | }
5 |
6 | code {
7 | color: #E01A76;
8 | }
9 |
10 | .btn-primary {
11 | color: #fff;
12 | background-color: #1b6ec2;
13 | border-color: #1861ac;
14 | }
15 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/ClientApp/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/Config/Dependency/IDependencySetup.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.DependencyInjection;
2 |
3 | namespace WebApplication.Config.Dependency
4 | {
5 | public interface IDependencySetup
6 | {
7 | void Run(IServiceCollection services);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/Models/Circles/GetCandidates/CircleGetCandidatesRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.GetCandidates
2 | {
3 | public class CircleGetCandidatesRequestModel
4 | {
5 | public int Page { get; set; }
6 | public int Size { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/Models/Circles/JoinMember/CircleJoinMemberRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.JoinMember
2 | {
3 | public class CircleJoinMemberRequestModel
4 | {
5 | public string AddUserId { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/Models/Circles/Post/CirclePostRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.Post
2 | {
3 | public class CirclePostRequestModel
4 | {
5 | public string CircleName { get; set; }
6 | public string OwnerId { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/Models/Circles/Put/CirclePutRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Circles.Put
2 | {
3 | public class CirclePutRequestModel
4 | {
5 | public string Name { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/Models/Users/Post/UserPostRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Users.Post
2 | {
3 | public class UserPostRequestModel
4 | {
5 | public string UserName { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/Models/Users/Put/UserPutRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace WebApplication.Models.Users.Put
2 | {
3 | public class UserPutRequestModel
4 | {
5 | public string Name { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using WebApplication
2 | @namespace WebApplication.Pages
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/Layered_UsingInternal/WebApplication/appsettings.Development.json.bak:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft": "Warning",
6 | "Microsoft.Hosting.Lifetime": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_01/Application/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _01.Application.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_01/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _01.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_02/Application/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _02.Application.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_02/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _02.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_02/_02.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_05/Application/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _05.Application.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_05/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _05.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_06/Application/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _06.Application.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_06/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _06.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_07/Application/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _07.Application.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_07/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _07.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_10/_10.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_11/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _11.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_11/_11.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_12/Application/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _12.Application.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_12/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _12.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_12/_12.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_13/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _13.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_13/Domain/Shared/IUnitOfWork.cs:
--------------------------------------------------------------------------------
1 | using _13.Domain.Models.Users;
2 |
3 | namespace _13.Domain.Shared
4 | {
5 | public interface IUnitOfWork
6 | {
7 | IUserRepository UserRepository { get; }
8 | void Commit();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_13/_13.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_14/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _14.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_14/Domain/Shared/IUnitOfWork.cs:
--------------------------------------------------------------------------------
1 | using _14.Domain.Models.Users;
2 |
3 | namespace _14.Domain.Shared
4 | {
5 | public interface IUnitOfWork
6 | {
7 | IUserRepository UserRepository { get; }
8 | void Commit();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_14/_14.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_15/Application/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _15.Application.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_15/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _15.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_15/Domain/Shared/IUnitOfWork.cs:
--------------------------------------------------------------------------------
1 | using _15.Domain.Models.Users;
2 |
3 | namespace _15.Domain.Shared
4 | {
5 | public interface IUnitOfWork
6 | {
7 | IUserRepository UserRepository { get; }
8 | void Commit();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_15/_15.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_16/Domain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _16.Domain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_16/Domain/Shared/IUnitOfWork.cs:
--------------------------------------------------------------------------------
1 | using _16.Domain.Models.Users;
2 |
3 | namespace _16.Domain.Shared
4 | {
5 | public interface IUnitOfWork
6 | {
7 | IUserRepository UserRepository { get; }
8 | void Commit();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_16/_16.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_17/Class1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _17
4 | {
5 | public class Class1
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter10/_17/_17.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_02/_02.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_04/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _04.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_05/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _05.SnsDomain.Models.Users;
2 |
3 | namespace _05.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_05/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _05.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_06/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _06.SnsDomain.Models.Users;
2 |
3 | namespace _06.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_06/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _06.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_07/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _07.SnsDomain.Models.Users;
2 |
3 | namespace _07.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_07/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _07.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_08/SnsApplication/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsApplication.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_08/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _08.SnsDomain.Models.Users;
2 |
3 | namespace _08.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_08/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_08/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_10/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _10.SnsDomain.Models.Users;
2 |
3 | namespace _10.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_10/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _10.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_10/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _10.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_10/_10.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_11/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _11.SnsDomain.Models.Users;
2 |
3 | namespace _11.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_11/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _11.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_11/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _11.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_11/_11.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_12/SnsDomain/Models/CircleInvitations/ICircleInvitationRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _12.SnsDomain.Models.CircleInvitations
2 | {
3 | public interface ICircleInvitationRepository
4 | {
5 | void Save(CircleInvitation circleInvitation);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_12/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _12.SnsDomain.Models.Users;
2 |
3 | namespace _12.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_12/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _12.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_12/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _12.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter11/_12/_12.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_02/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _02.SnsDomain.Models.Users;
2 |
3 | namespace _02.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_02/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _02.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_02/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _02.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_02/_02.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_03/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _03.SnsDomain.Models.Users;
2 |
3 | namespace _03.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_03/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _03.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_03/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _03.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_04/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _04.SnsDomain.Models.Users;
2 |
3 | namespace _04.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_04/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _04.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_04/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _04.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_06/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _06.SnsDomain.Models.Users;
2 |
3 | namespace _06.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_06/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _06.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_06/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _06.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_07/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _07.SnsDomain.Models.Users;
2 |
3 | namespace _07.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_07/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _07.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_07/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _07.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_08/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _08.SnsDomain.Models.Users;
2 |
3 | namespace _08.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_08/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_08/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_09/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _09.SnsDomain.Models.Users;
2 |
3 | namespace _09.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_09/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _09.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_09/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _09.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_11/SnsDomain/Models/Users/IUserNotification.cs:
--------------------------------------------------------------------------------
1 | namespace _11.SnsDomain.Models.Users
2 | {
3 | public interface IUserNotification
4 | {
5 | void Id(UserId id);
6 | void Name(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_11/_11.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_12/SnsDomain/Models/Users/IUserNotification.cs:
--------------------------------------------------------------------------------
1 | namespace _12.SnsDomain.Models.Users
2 | {
3 | public interface IUserNotification
4 | {
5 | void Id(UserId id);
6 | void Name(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_13/SnsDomain/Models/Users/IUserNotification.cs:
--------------------------------------------------------------------------------
1 | namespace _13.SnsDomain.Models.Users
2 | {
3 | public interface IUserNotification
4 | {
5 | void Id(UserId id);
6 | void Name(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_13/_13.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_14/SnsDomain/Models/Users/IUserNotification.cs:
--------------------------------------------------------------------------------
1 | namespace _14.SnsDomain.Models.Users
2 | {
3 | public interface IUserNotification
4 | {
5 | void Id(UserId id);
6 | void Name(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_16/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _08.SnsDomain.Models.Users;
2 |
3 | namespace _08.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_16/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_16/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_16/_16.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_17/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _17.SnsDomain.Models.Users;
2 |
3 | namespace _17.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_17/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _17.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_17/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _17.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_18/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _18.SnsDomain.Models.Users;
2 |
3 | namespace _18.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_18/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _18.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_18/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _18.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_18/_18.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_19/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _18.SnsDomain.Models.Users;
2 |
3 | namespace _18.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_19/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _18.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_19/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _18.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_19/_19.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_20/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _20.SnsDomain.Models.Users;
2 |
3 | namespace _20.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_20/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _20.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_20/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _20.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_20/_20.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_22/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _22.SnsDomain.Models.Users;
2 |
3 | namespace _22.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_22/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _22.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_22/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _22.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_22/_22.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_23/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _22.SnsDomain.Models.Users;
2 |
3 | namespace _22.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_23/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _22.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_23/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _22.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter12/_23/_23.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_01/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _01.SnsDomain.Models.Users;
2 |
3 | namespace _01.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_01/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _01.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_01/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _01.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_02/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _02.SnsDomain.Models.Users;
2 |
3 | namespace _02.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_02/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _02.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_02/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _02.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_02/_02.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_03/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _03.SnsDomain.Models.Users;
2 |
3 | namespace _03.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_03/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _03.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_03/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _03.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_04/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _04.SnsDomain.Models.Users;
2 |
3 | namespace _04.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_04/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _04.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_04/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _04.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_05/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _05.SnsDomain.Models.Users;
2 |
3 | namespace _05.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_05/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _05.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_05/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _05.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_07/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _07.SnsDomain.Models.Users;
2 |
3 | namespace _07.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_07/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _07.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_07/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _07.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_08/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _08.SnsDomain.Models.Users;
2 |
3 | namespace _08.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_08/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_08/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_09/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _09.SnsDomain.Models.Users;
2 |
3 | namespace _09.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_09/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _09.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_09/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _09.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_10/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _10.SnsDomain.Models.Users;
2 |
3 | namespace _10.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_10/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _10.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_10/_10.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_11/SnsApplication/Circles/GetRecommend/CircleGetRecommendRequest.cs:
--------------------------------------------------------------------------------
1 | namespace _11.SnsApplication.Circles.GetRecommend
2 | {
3 | public class CircleGetRecommendRequest
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_11/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _11.SnsDomain.Models.Users;
2 |
3 | namespace _11.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_11/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _11.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_11/_11.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_12/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _12.SnsDomain.Models.Users;
2 |
3 | namespace _12.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_12/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _12.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_12/_12.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_13/SnsApplication/Circles/GetRecommend/CircleGetRecommendRequest.cs:
--------------------------------------------------------------------------------
1 | namespace _13.SnsApplication.Circles.GetRecommend
2 | {
3 | public class CircleGetRecommendRequest
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_13/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _13.SnsDomain.Models.Users;
2 |
3 | namespace _13.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_13/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _13.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_13/_13.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_14/SnsDomain/Library/Specifications/ISpecification.cs:
--------------------------------------------------------------------------------
1 | namespace _14.SnsDomain.Library.Specifications
2 | {
3 | public interface ISpecification
4 | {
5 | public bool IsSatisfiedBy(T value);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_14/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _14.SnsDomain.Models.Users;
2 |
3 | namespace _14.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_14/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _14.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_14/_14.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_15/SnsDomain/Library/Specifications/ISpecification.cs:
--------------------------------------------------------------------------------
1 | namespace _15.SnsDomain.Library.Specifications
2 | {
3 | public interface ISpecification
4 | {
5 | public bool IsSatisfiedBy(T value);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_15/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _15.SnsDomain.Models.Users;
2 |
3 | namespace _15.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_15/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _15.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_15/_15.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_16/SnsApplication/Circles/GetRecommend/CircleGetRecommendRequest.cs:
--------------------------------------------------------------------------------
1 | namespace _16.SnsApplication.Circles.GetRecommend
2 | {
3 | public class CircleGetRecommendRequest
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_16/SnsDomain/Library/Specifications/ISpecification.cs:
--------------------------------------------------------------------------------
1 | namespace _16.SnsDomain.Library.Specifications
2 | {
3 | public interface ISpecification
4 | {
5 | public bool IsSatisfiedBy(T value);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_16/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _16.SnsDomain.Models.Users;
2 |
3 | namespace _16.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_16/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _16.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_16/_16.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_17/SnsDomain/Library/Specifications/ISpecification.cs:
--------------------------------------------------------------------------------
1 | namespace _17.SnsDomain.Library.Specifications
2 | {
3 | public interface ISpecification
4 | {
5 | public bool IsSatisfiedBy(T value);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_17/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _17.SnsDomain.Models.Users;
2 |
3 | namespace _17.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_17/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _17.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_18/SnsDomain/Library/Specifications/ISpecification.cs:
--------------------------------------------------------------------------------
1 | namespace _18.SnsDomain.Library.Specifications
2 | {
3 | public interface ISpecification
4 | {
5 | public bool IsSatisfiedBy(T value);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_18/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _18.SnsDomain.Models.Users;
2 |
3 | namespace _18.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_18/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _18.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_18/_18.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_19/SnsDomain/Library/Specifications/ISpecification.cs:
--------------------------------------------------------------------------------
1 | namespace _19.SnsDomain.Library.Specifications
2 | {
3 | public interface ISpecification
4 | {
5 | public bool IsSatisfiedBy(T value);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_19/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _19.SnsDomain.Models.Users;
2 |
3 | namespace _19.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_19/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _19.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_20/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _20.SnsDomain.Models.Users;
2 |
3 | namespace _20.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_20/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _20.SnsDomain.Models.Circles
2 | {
3 | public interface ICircleRepository
4 | {
5 | void Save(Circle circle);
6 | Circle Find(CircleId id);
7 | Circle Find(CircleName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_20/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _20.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_21/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _20.SnsDomain.Models.Users;
2 |
3 | namespace _20.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_21/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace _20.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleRepository
6 | {
7 | IEnumerable FindAll();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_21/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _20.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_21/_21.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_22/SnsDomain/Models/Circles/ICircleFactory.cs:
--------------------------------------------------------------------------------
1 | using _22.SnsDomain.Models.Users;
2 |
3 | namespace _22.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleFactory
6 | {
7 | Circle Create(CircleName name, User owner);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_22/SnsDomain/Models/Circles/ICircleRepository.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace _22.SnsDomain.Models.Circles
4 | {
5 | public interface ICircleRepository
6 | {
7 | IEnumerable FindAll();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_22/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _22.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter13/_22/_22.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter15/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter15/_04/ユーザ名.cs:
--------------------------------------------------------------------------------
1 | namespace _04
2 | {
3 | public class ユーザ名
4 | {
5 | public ユーザ名(string value)
6 | {
7 | Value = value;
8 | }
9 |
10 | public string Value { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter15/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter15/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter15/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter15/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Library
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_01/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _01
4 | {
5 | class Program
6 | {
7 | static void Main(string[] args)
8 | {
9 | var fullName = "naruse masanobu";
10 | Console.WriteLine(fullName); // naruse masanobu が表示される
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_02/_02.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_10/Program.cs:
--------------------------------------------------------------------------------
1 | namespace _10
2 | {
3 | class Program
4 | {
5 | static void Main(string[] args)
6 | {
7 | var fullName = new FullName("masanobu", "naruse");
8 | fullName.ChangeLastName("sato");
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_10/_10.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_11/_11.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_12/Program.cs:
--------------------------------------------------------------------------------
1 | namespace _12
2 | {
3 | class Program
4 | {
5 | static void Main(string[] args)
6 | {
7 | var fullName = new FullName("masanobu", "naruse");
8 | fullName = new FullName("masanobu", "sato");
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_12/_12.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_13/_13.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_14/_14.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_15/_15.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_16/Program.cs:
--------------------------------------------------------------------------------
1 | namespace _16
2 | {
3 | class Program
4 | {
5 | static void Main(string[] args)
6 | {
7 | // Console.WriteLine(1.Value == 0.Value); // false ?
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_16/_16.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_17/_17.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_18/_18.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_19/_19.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_20/_20.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_21/_21.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_22/_22.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_23/_23.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_24/_24.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_25/_25.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_26/_26.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_27/_27.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_28/_28.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_29/_29.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_30/Program.cs:
--------------------------------------------------------------------------------
1 | namespace _30
2 | {
3 | class Program
4 | {
5 | static void Main(string[] args)
6 | {
7 | var myMoney = 1000m;
8 | var allowance = 3000m;
9 | var result = myMoney + allowance;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_30/_30.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_31/_31.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_32/Rate.cs:
--------------------------------------------------------------------------------
1 | namespace _32
2 | {
3 | class Rate
4 | {
5 | public Rate(decimal value)
6 | {
7 | Value = value;
8 | }
9 |
10 | public decimal Value { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_32/_32.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_33/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _33
4 | {
5 | class Program
6 | {
7 | static void Main(string[] args)
8 | {
9 | var modelNumber = "a20421-100-1";
10 |
11 | Console.WriteLine("ModelNumber: " + modelNumber);
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_33/_33.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_34/AnyClass.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _34
4 | {
5 | public class AnyClass
6 | {
7 | void Method(string modelNumber) // かろうじて文字列であることはわかる
8 | {
9 | Console.WriteLine("ModelNumber:" + modelNumber);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_34/_34.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_35/_35.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_36/_36.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_37/_37.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_38/_38.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_39/_39.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_40/_40.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_41/_41.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_42/User.cs:
--------------------------------------------------------------------------------
1 | namespace _42
2 | {
3 | class User
4 | {
5 | public UserId Id { get; set; }
6 | public UserName Name { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_42/_42.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_43/Program.cs:
--------------------------------------------------------------------------------
1 | namespace _43
2 | {
3 | class Program
4 | {
5 | private User CreateUser(UserName name)
6 | {
7 | var user = new User();
8 | // user.Id = name; // コンパイルエラー!
9 | return user;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_43/User.cs:
--------------------------------------------------------------------------------
1 | namespace _43
2 | {
3 | class User
4 | {
5 | public UserId Id { get; set; }
6 | public UserName Name { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_43/_43.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_44/User.cs:
--------------------------------------------------------------------------------
1 | namespace _44
2 | {
3 | class User
4 | {
5 | public User(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_44/_44.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_45/User.cs:
--------------------------------------------------------------------------------
1 | namespace _45
2 | {
3 | class User
4 | {
5 | public User(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_45/_45.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_46/_46.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter2/_47/_47.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_02/_02.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_03/UserChangeNameRequest.cs:
--------------------------------------------------------------------------------
1 | namespace _03
2 | {
3 | class UserChangeNameRequest
4 | {
5 | public string Name { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_07/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _07
4 | {
5 | class Program
6 | {
7 | static void Main(string[] args)
8 | {
9 | var program = new MyProgram();
10 | program.Main();
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_08/User.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _08
4 | {
5 | class User
6 | {
7 | public string Name { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter3/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_02/_02.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_10/_10.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_11/EntryPoint.cs:
--------------------------------------------------------------------------------
1 | namespace _11
2 | {
3 | class EntryPoint
4 | {
5 | public static void Main(string[] args)
6 | {
7 | var program = new Program();
8 | program.CreateUser("test-user");
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_13/Baggage.cs:
--------------------------------------------------------------------------------
1 | namespace _13
2 | {
3 | class Baggage
4 | {
5 | public Baggage(BaggageId id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public BaggageId Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_13/BaggageId.cs:
--------------------------------------------------------------------------------
1 | namespace _13
2 | {
3 | class BaggageId
4 | {
5 | private readonly string id;
6 |
7 | public BaggageId(string id)
8 | {
9 | this.id = id;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_13/_13.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_14/Baggage.cs:
--------------------------------------------------------------------------------
1 | namespace _14
2 | {
3 | class Baggage
4 | {
5 | public Baggage(BaggageId id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public BaggageId Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_14/BaggageId.cs:
--------------------------------------------------------------------------------
1 | namespace _14
2 | {
3 | class BaggageId
4 | {
5 | private readonly string id;
6 |
7 | public BaggageId(string id)
8 | {
9 | this.id = id;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_14/_14.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_15/Baggage.cs:
--------------------------------------------------------------------------------
1 | namespace _15
2 | {
3 | class Baggage
4 | {
5 | public Baggage(BaggageId id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public BaggageId Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_15/BaggageId.cs:
--------------------------------------------------------------------------------
1 | namespace _15
2 | {
3 | class BaggageId
4 | {
5 | private readonly string id;
6 |
7 | public BaggageId(string id)
8 | {
9 | this.id = id;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter4/_15/_15.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_03/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _03
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_04/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _04
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_05/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _05
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_06/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _05
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | bool Exists(User user);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_07/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _07
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | bool Exists(User user);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_08/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _08
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | public bool Exists(UserName name);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_09/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _09
2 | {
3 | public interface IUserRepository
4 | {
5 | void Save(User user);
6 | Option Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_10/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _10
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_11/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _11
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_12/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _12
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_13/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _13
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_13/_13.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Library
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_14/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _14
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_14/_14.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Library
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_15/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _15
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_15/_15.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_16/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _16
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_16/_16.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_17/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _17
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_18/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _18
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_19/_19.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_20/_20.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_21/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _21
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | User Find(UserName name);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_22/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _21
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | void Delete(User user);
7 | User Find(UserId id);
8 | User Find(UserName name);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_22/_22.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_23/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _23
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | void UpdateName(UserId id, UserName name);
7 | void Delete(User user);
8 | User Find(UserId id);
9 | User Find(UserName name);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_23/_23.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_24/Address.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace _24
6 | {
7 | class Address
8 | {
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_24/Email.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace _24
6 | {
7 | class Email
8 | {
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_24/_24.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_25/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _25
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | void Delete(User user);
7 | User Find(UserId id);
8 | User Find(UserName name);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_25/_25.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_26/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _26
2 | {
3 | interface IUserRepository
4 | {
5 | void Save(User user);
6 | void Delete(User user);
7 | User Find(UserId id);
8 | User Find(UserName name);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_26/_26.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_27/_27.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter5/_28/_28.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_02/_02.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_03/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _03
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_04/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _04
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_05/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _05
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_06/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _06
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_07/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _07
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_09/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _09
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_10/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _10
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_10/_10.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 | Library
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_11/_11.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_12/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_13/_13.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_14/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _14
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_14/_14.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_15/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _15
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_15/_15.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_16/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _16
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_16/_16.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_17/_17.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_18/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _18
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_18/_18.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_19/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _19
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_19/_19.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_20/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _20
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_20/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _20
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_20/_20.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Library
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_21/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _21
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_21/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _21
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_21/_21.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Library
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_22/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _22
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_22/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _22
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_22/_22.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_23/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _23
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_23/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _23
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_23/_23.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_24/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _24
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | User Find(MailAddress mailAddress);
8 | void Save(User user);
9 | void Delete(User user);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_24/_24.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_25/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _25
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | User Find(MailAddress mailAddress);
8 | void Save(User user);
9 | void Delete(User user);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_25/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _25
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_25/_25.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_26/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _26
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | User Find(MailAddress mailAddress);
8 | void Save(User user);
9 | void Delete(User user);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_26/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _26
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_26/_26.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_27/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _27
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | User Find(MailAddress mailAddress);
8 | void Save(User user);
9 | void Delete(User user);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_27/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _27
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_27/_27.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_28/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _28
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | User Find(MailAddress mailAddress);
8 | void Save(User user);
9 | void Delete(User user);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_28/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _28
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_28/_28.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_29/Class1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _29
4 | {
5 | public class Class1
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_29/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _29
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | User Find(MailAddress mailAddress);
8 | void Save(User user);
9 | void Delete(User user);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_29/_29.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_30/_30.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_31/HighCohesionA.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _31
4 | {
5 | public class HighCohesionA
6 | {
7 | private int value1;
8 | private int value2;
9 |
10 | public int MethodA()
11 | {
12 | return value1 + value2;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_31/_31.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_32/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _32
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_32/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _32
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_32/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _32
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_32/_32.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_33/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _33
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_33/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _33
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_33/_33.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_34/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _34
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_34/UserDeleteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _34
2 | {
3 | public class UserDeleteCommand
4 | {
5 | public UserDeleteCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_34/_34.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_35/IUserRegisterService.cs:
--------------------------------------------------------------------------------
1 | namespace _35
2 | {
3 | public interface IUserRegisterService
4 | {
5 | void Handle(UserRegisterCommand command);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_35/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _35
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_35/_35.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_36/IUserRegisterService.cs:
--------------------------------------------------------------------------------
1 | namespace _36
2 | {
3 | public interface IUserRegisterService
4 | {
5 | void Handle(UserRegisterCommand command);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_36/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _36
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_36/_36.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_37/IUserRegisterService.cs:
--------------------------------------------------------------------------------
1 | namespace _37
2 | {
3 | public interface IUserRegisterService
4 | {
5 | void Handle(UserRegisterCommand command);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_37/MockUserRegisterService.cs:
--------------------------------------------------------------------------------
1 | namespace _37
2 | {
3 | public class MockUserRegisterService : IUserRegisterService
4 | {
5 | public void Handle(UserRegisterCommand command)
6 | {
7 | // nop
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_37/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _37
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_37/_37.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_38/ComplexException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _38
4 | {
5 | public class ComplexException : Exception
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_38/ExceptionUserRegisterService.cs:
--------------------------------------------------------------------------------
1 | namespace _38
2 | {
3 | public class ExceptionUserRegisterService : IUserRegisterService
4 | {
5 | public void Handle(UserRegisterCommand command)
6 | {
7 | throw new ComplexException();
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_38/IUserRegisterService.cs:
--------------------------------------------------------------------------------
1 | namespace _38
2 | {
3 | public interface IUserRegisterService
4 | {
5 | void Handle(UserRegisterCommand command);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_38/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _38
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_38/_38.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_39/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _39
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_39/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _39
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_39/_39.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_40/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _40
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | User Find(UserName name);
7 | void Save(User user);
8 | void Delete(User user);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_40/MailUtility.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _40
4 | {
5 | public class MailUtility
6 | {
7 | public static void Send(string message)
8 | {
9 | Console.WriteLine(message);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_40/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _40
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter6/_40/_40.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_01/ObjectA.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _1
4 | {
5 | public class ObjectA
6 | {
7 | private ObjectB objectB;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_01/ObjectB.cs:
--------------------------------------------------------------------------------
1 | namespace _1
2 | {
3 | class ObjectB
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_02/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _2
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_03/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _3
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_04/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _4
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_04/_04.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_05/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _5
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_06/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _6
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_07/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _7
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_08/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _8
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_09/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _9
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_10/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _10
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_10/_10.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_11/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _11
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_11/_11.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_12/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _12
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_12/_12.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 | Exe
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_13/IFooRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _13
2 | {
3 | public interface IFooRepository
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_13/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _13
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_13/_13.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 | Exe
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_14/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _14
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_14/_14.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_15/IFooRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _15
2 | {
3 | public interface IFooRepository
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_15/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _15
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_15/_15.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_16/IFooRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _16
2 | {
3 | public interface IFooRepository
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_16/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _16
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_16/_16.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter7/_17/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _17
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter8/_01_to_03/Application/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _01_to_03.Application.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter8/_04_to_12/Application/Users/Get/UserGetCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _04_to_12.Application.Users.Get
2 | {
3 | public class UserGetCommand
4 | {
5 | public UserGetCommand(string id)
6 | {
7 | Id = id;
8 | }
9 |
10 | public string Id { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter8/_04_to_12/Config/Dependency/IDependencySetup.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.DependencyInjection;
2 |
3 | namespace _04_to_12.Config.Dependency
4 | {
5 | public interface IDependencySetup
6 | {
7 | void Run(IServiceCollection services);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter8/_04_to_12/ViewModels/Users/Post/UserPostRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace _04_to_12.ViewModels.Users.Post
2 | {
3 | public class UserPostRequestModel
4 | {
5 | public string UserName { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter8/_04_to_12/ViewModels/Users/Put/UserPutRequestModel.cs:
--------------------------------------------------------------------------------
1 | namespace _04_to_12.ViewModels.Users.Put
2 | {
3 | public class UserPutRequestModel
4 | {
5 | public string Name { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter8/_13_to_17.App/_13_to_17.App.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_01/_01.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_03/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _03
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_03/_03.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_04/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _04
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_05/_05.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_06/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _06
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_06/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _06
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_06/_06.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_07/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _07
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_07/_07.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_08/SnsDomain/Models/Users/IUserFactory.cs:
--------------------------------------------------------------------------------
1 | namespace _08.SnsDomain.Models.Users
2 | {
3 | public interface IUserFactory
4 | {
5 | User Create(UserName name);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_08/_08.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_09/_09.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_10/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace _10
4 | {
5 | public interface IUserRepository
6 | {
7 | User Find(UserId id);
8 | void Save(User user);
9 | UserId NextIdentity();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_10/_10.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_11/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _11
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | void Save(User user);
7 | UserId NextIdentity();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_11/UserRegisterCommand.cs:
--------------------------------------------------------------------------------
1 | namespace _11
2 | {
3 | public class UserRegisterCommand
4 | {
5 | public UserRegisterCommand(string name)
6 | {
7 | Name = name;
8 | }
9 |
10 | public string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_11/_11.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_12/ApiResponse.cs:
--------------------------------------------------------------------------------
1 | namespace _12
2 | {
3 | class ApiResponse
4 | {
5 | public string NextId
6 | {
7 | get { return "1"; }
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_12/IUserRepository.cs:
--------------------------------------------------------------------------------
1 | namespace _12
2 | {
3 | public interface IUserRepository
4 | {
5 | User Find(UserId id);
6 | void Save(User user);
7 | UserId NextIdentity();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_12/NumberingApi.cs:
--------------------------------------------------------------------------------
1 | namespace _12
2 | {
3 | public class NumberingApi
4 | {
5 | public ApiResponse Request()
6 | {
7 | return new ApiResponse();
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_13/_13.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 | _13
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SampleCodes/Chapter9/_14/_14.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------