The source code for Implementing Domain-driven Design is annotated below: gitee.com/actual-comb…
- DDD: Strategic domain drives design
- DDD: Tactical domain driven design
- DDD: Domain-driven design and hexagonal architecture
- DDD: Hexagonal architecture [Onion] — Domain services
- DDD: Bounded Context and Java modules — domain events
- DDD: Build aggregations using Spring data
- DDD: Build the repository using Spring data
- DDD: Use value objects in JPA
- DDD: Use value objects as Hibernate’s aggregation identifiers
1. Tree structure of Module
└─com
└─saasovation
└─agilepm---------------------------------------------------------<<敏捷项目管理上下文>>
├─application------------------------------------------------------------[应用层]
│ │ ApplicationServiceLifeCycle.java
│ │
│ ├─notification
│ │ NotificationApplicationService.java
│ │
│ ├─process
│ │ ProcessApplicationService.java
│ │
│ ├─product
│ │ │ InitiateDiscussionCommand.java
│ │ │ NewProductCommand.java
│ │ │ ProductApplicationService.java
│ │ │ ProductApplicationService_1_initiateDiscussion_calls.puml
│ │ │ ProductApplicationService_2_newProduct_calls.puml
│ │ │ ProductApplicationService_3_newProductWithDiscussion_calls.puml
│ │ │ ProductApplicationService_4_requestProductDiscussion_calls.puml
│ │ │ ProductApplicationService_5_retryProductDiscussionRequest_calls.puml
│ │ │ ProductApplicationService_6_startDiscussionInitiation_calls.puml
│ │ │ ProductApplicationService_7_timeOutProductDiscussionRequest_calls.puml
│ │ │ RequestProductDiscussionCommand.java
│ │ │ RetryProductDiscussionRequestCommand.java
│ │ │ StartDiscussionInitiationCommand.java
│ │ │ TimeOutProductDiscussionRequestCommand.java
│ │ │
│ │ └─backlogitem
│ │ BacklogItemApplicationService.java
│ │
│ ├─sprint
│ │ CommitBacklogItemToSprintCommand.java
│ │ SprintApplicationService.java
│ │
│ └─team
│ ChangeTeamMemberEmailAddressCommand.java
│ ChangeTeamMemberNameCommand.java
│ DisableMemberCommand.java
│ DisableProductOwnerCommand.java
│ DisableTeamMemberCommand.java
│ EnableMemberCommand.java
│ EnableProductOwnerCommand.java
│ EnableTeamMemberCommand.java
│ TeamApplicationService.java
│
├─domain-----------------------------------------------------------------[领域层]
│ └─model---------------------------------------------------------------模型
│ │ Entity.java----------------------------------------------------实体(基类)
│ │ ValueObject.java-----------------------------------------------值对象(基类)
│ │
│ ├─discussion------------------------------------------------------讨论模型
│ │ DiscussionAvailability.java--------------------------------枚举
│ │ DiscussionDescriptor.java----------------------------------值对象
│ │
│ ├─product---------------------------------------------------------产品模型
│ │ │ Product.java------------------------------------------------实体(聚合根)
│ │ │ ProductBacklogItem.java-------------------------------------实体
│ │ │ ProductBacklogItemPlanned.java------------------------------领域事件
│ │ │ ProductCreated.java-----------------------------------------领域事件
│ │ │ ProductDiscussion.java--------------------------------------值对象
│ │ │ ProductDiscussionInitiated.java-----------------------------领域事件
│ │ │ ProductDiscussionRequested.java-----------------------------领域事件
│ │ │ ProductDiscussionRequestTimedOut.java-----------------------领域事件
│ │ │ ProductId.java----------------------------------------------值对象
│ │ │ ProductReleaseScheduled.java--------------------------------领域事件
│ │ │ ProductRepository.java--------------------------------------存储库接口
│ │ │ ProductSprintScheduled.java---------------------------------领域事件
│ │ │
│ │ ├─backlogitem--------------------------------------------------待办事项模型
│ │ │ BacklogItem.java----------------------------------------实体(聚合根)
│ │ │ BacklogItemCategoryChanged.java-------------------------领域事件
│ │ │ BacklogItemCommitted.java-------------------------------领域事件
│ │ │ BacklogItemDiscussion.java------------------------------值对象
│ │ │ BacklogItemDiscussionInitiated.java---------------------领域事件
│ │ │ BacklogItemDiscussionRequested.java---------------------领域事件
│ │ │ BacklogItemId.java--------------------------------------值对象
│ │ │ BacklogItemMarkedAsRemoved.java-------------------------领域事件
│ │ │ BacklogItemRepository.java------------------------------存储库接口
│ │ │ BacklogItemScheduled.java-------------------------------领域事件
│ │ │ BacklogItemStatus.java----------------------------------枚举
│ │ │ BacklogItemStatusChanged.java---------------------------领域事件
│ │ │ BacklogItemStoryPointsAssigned.java---------------------领域事件
│ │ │ BacklogItemStoryTold.java-------------------------------领域事件
│ │ │ BacklogItemSummarized.java------------------------------领域事件
│ │ │ BacklogItemType.java------------------------------------枚举
│ │ │ BacklogItemTypeChanged.java-----------------------------领域事件
│ │ │ BacklogItemUncommitted.java-----------------------------领域事件
│ │ │ BacklogItemUnscheduled.java-----------------------------领域事件
│ │ │ BusinessPriority.java-----------------------------------值对象
│ │ │ BusinessPriorityAssigned.java---------------------------领域事件
│ │ │ BusinessPriorityCalculator.java-------------------------领域服务
│ │ │ BusinessPriorityRatings.java----------------------------值对象
│ │ │ BusinessPriorityTotals.java-----------------------------值对象
│ │ │ EstimationLogEntry.java---------------------------------实体
│ │ │ StoryPoints.java----------------------------------------枚举
│ │ │ Task.java-----------------------------------------------实体
│ │ │ TaskDefined.java----------------------------------------领域事件
│ │ │ TaskDescribed.java--------------------------------------领域事件
│ │ │ TaskHoursRemainingEstimated.java------------------------领域事件
│ │ │ TaskId.java---------------------------------------------值对象
│ │ │ TaskRemoved.java----------------------------------------领域事件
│ │ │ TaskRenamed.java----------------------------------------领域事件
│ │ │ TaskStatus.java-----------------------------------------枚举
│ │ │ TaskStatusChanged.java----------------------------------领域事件
│ │ │ TaskVolunteerAssigned.java------------------------------领域事件
│ │ │
│ │ ├─release-------------------------------------------------------发布模型
│ │ │ Release.java---------------------------------------------实体(聚合根)
│ │ │ ReleaseId.java-------------------------------------------值对象
│ │ │ ReleaseRepository.java-----------------------------------存储库接口
│ │ │ ScheduledBacklogItem.java--------------------------------实体
│ │ │
│ │ └─sprint--------------------------------------------------------冲刺模型
│ │ CommittedBacklogItem.java-------------------------------实体
│ │ Sprint.java---------------------------------------------实体
│ │ SprintId.java-------------------------------------------值对象
│ │ SprintRepository.java-----------------------------------存储库接口
│ │
│ ├─team-------------------------------------------------------------团队模型
│ │ Member.java-------------------------------------------------实体
│ │ MemberChangeTracker.java------------------------------------值对象
│ │ ProductOwner.java-------------------------------------------实体
│ │ ProductOwnerId.java-----------------------------------------值对象
│ │ ProductOwnerRepository.java---------------------------------存储库接口
│ │ Team.java---------------------------------------------------实体
│ │ TeamMember.java---------------------------------------------实体
│ │ TeamMemberId.java-------------------------------------------值对象
│ │ TeamMemberRepository.java-----------------------------------存储库接口
│ │ TeamRepository.java-----------------------------------------存储库接口
│ │
│ └─tenant-----------------------------------------------------------租户模型
│ TenantId.java----------------------------------------------值对象
│
└─port--------------------------------------------------------------[端口层]
└─adapter-------------------------------------------------------[适配器层]
├─messaging
│ │ ProductDiscussionExclusiveOwnerId.java
│ │
│ ├─rabbitmq-----------------------------------------------MQ
│ │ RabbitMQBacklogItemCommittedListener.java
│ │ RabbitMQDiscussionStartedListener.java
│ │ RabbitMQProductDiscussionRequestedListener.java
│ │ RabbitMQProductDiscussionRetryListener.java
│ │ RabbitMQTeamMemberDisablerListener.java
│ │ RabbitMQTeamMemberEmailAddressChangedListener.java
│ │ RabbitMQTeamMemberEnablerListener.java
│ │ RabbitMQTeamMemberNameChangedListener.java
│ │
│ └─sloth--------------------------------------------------MQ
│ SlothMQDiscussionStartedListener.java
│ SlothMQProductDiscussionRequestedListener.java
│ SlothMQProductDiscussionRetryListener.java
│ SlothMQTeamMemberDisablerListener.java
│ SlothMQTeamMemberEmailAddressChangedListener.java
│ SlothMQTeamMemberEnablerListener.java
│ SlothMQTeamMemberNameChangedListener.java
│
└─persistence----------------------------------------------[持久层]
LevelDBBacklogItemRepository.java
LevelDBDatabasePath.java
LevelDBProductOwnerRepository.java
LevelDBProductRepository.java
LevelDBReleaseRepository.java
LevelDBSprintRepository.java
LevelDBTeamMemberRepository.java
LevelDBTeamRepository.java
└─com
└─saasovation
└─collaboration-----------------------------------------------------<<协作上下文>>
├─application
│ ├─calendar
│ │ │ CalendarApplicationService.java
│ │ │ CalendarEntryApplicationService.java
│ │ │ CalendarEntryQueryService.java
│ │ │ CalendarQueryService.java
│ │ │
│ │ └─data
│ │ CalendarCommandResult.java
│ │ CalendarData.java
│ │ CalendarEntryData.java
│ │ CalendarEntryInviteeData.java
│ │ CalendarSharerData.java
│ │
│ └─forum
│ │ DiscussionApplicationService.java
│ │ DiscussionQueryService.java
│ │ ForumApplicationService.java
│ │ ForumQueryService.java
│ │ PostApplicationService.java
│ │ PostQueryService.java
│ │
│ └─data
│ DiscussionCommandResult.java
│ DiscussionData.java
│ DiscussionPostsData.java
│ ForumCommandResult.java
│ ForumData.java
│ ForumDiscussionsData.java
│ PostData.java
│
├─domain
│ └─model
│ │ DomainRegistry.java
│ │
│ ├─calendar
│ │ Alarm.java
│ │ AlarmUnitsType.java
│ │ Calendar.java
│ │ CalendarCreated.java
│ │ CalendarDescriptionChanged.java
│ │ CalendarEntry.java
│ │ CalendarEntryDescriptionChanged.java
│ │ CalendarEntryId.java
│ │ CalendarEntryParticipantInvited.java
│ │ CalendarEntryParticipantUninvited.java
│ │ CalendarEntryRelocated.java
│ │ CalendarEntryRepository.java
│ │ CalendarEntryRescheduled.java
│ │ CalendarEntryScheduled.java
│ │ CalendarId.java
│ │ CalendarIdentityService.java
│ │ CalendarRenamed.java
│ │ CalendarRepository.java
│ │ CalendarShared.java
│ │ CalendarSharer.java
│ │ CalendarUnshared.java
│ │ RepeatType.java
│ │ Repetition.java
│ │ TimeSpan.java
│ │
│ ├─collaborator
│ │ Author.java
│ │ Collaborator.java
│ │ CollaboratorService.java
│ │ Creator.java
│ │ Moderator.java
│ │ Owner.java
│ │ Participant.java
│ │
│ ├─forum
│ │ Discussion.java
│ │ DiscussionClosed.java
│ │ DiscussionId.java
│ │ DiscussionReopened.java
│ │ DiscussionRepository.java
│ │ DiscussionStarted.java
│ │ Forum.java
│ │ ForumClosed.java
│ │ ForumDescriptionChanged.java
│ │ ForumId.java
│ │ ForumIdentityService.java
│ │ ForumModeratorChanged.java
│ │ ForumReopened.java
│ │ ForumRepository.java
│ │ ForumStarted.java
│ │ ForumSubjectChanged.java
│ │ Post.java
│ │ PostContentAltered.java
│ │ PostedToDiscussion.java
│ │ PostId.java
│ │ PostRepository.java
│ │
│ └─tenant
│ Tenant.java
│
└─port
└─adapter
├─event
│ FollowStoreEventDispatcher.java
│
├─messaging
│ ExclusiveDiscussionCreationListener.java
│ RabbitMQEventDispatcher.java
│ RabbitMQEventDispatcher_0_RabbitMQEventDispatcher_calls.puml
│ RabbitMQEventDispatcher_1_dispatch_calls.puml
│ RabbitMQEventDispatcher_2_registerEventDispatcher_calls.puml
│ RabbitMQEventDispatcher_3_understands_calls.puml
│
├─persistence
│ │ EventStoreProvider.java
│ │
│ ├─repository
│ │ EventStoreCalendarEntryRepository.java
│ │ EventStoreCalendarRepository.java
│ │ EventStoreDiscussionRepository.java
│ │ EventStoreForumRepository.java
│ │ EventStorePostRepository.java
│ │
│ └─view
│ MySQLCalendarEntryProjection.java
│ MySQLCalendarProjection.java
│ MySQLDiscussionProjection.java
│ MySQLForumProjection.java
│ MySQLPostProjection.java
│ MySQLProjectionDispatcher.java
│
└─service
CollaboratorTranslator.java
HttpUserInRoleAdapter.java
TranslatingCollaboratorService.java
UserInRoleAdapter.java
└─com
└─saasovation
└─identityaccess-----------------------------------------------------<<身份与访问上下文>>
├─application
│ │ AccessApplicationService.java
│ │ ApplicationServiceRegistry.java
│ │ IdentityAccessEventProcessor.java
│ │ IdentityApplicationService.java
│ │ NotificationApplicationService.java
│ │
│ ├─command│ │ ActivateTenantCommand. Java │ │ AddGroupToGroupCommand. Java │ │ AddUserToGroupCommand. Java │ │ AssignUserToRoleCommand. Java │ │ AuthenticateUserCommand. Java │ │ ChangeContactInfoCommand. Java │ │ ChangeEmailAddressCommand. Java │ │ ChangePostalAddressCommand. Java │ │ ChangePrimaryTelephoneCommand. Java │ │ ChangeSecondaryTelephoneCommand. Java │ │ ChangeUserPasswordCommand. Java │ │ ChangeUserPersonalNameCommand. Java │ │ DeactivateTenantCommand. Java │ │ DefineUserEnablementCommand. Java │ │ ProvisionGroupCommand. Java │ │ ProvisionRoleCommand. Java │ │ ProvisionTenantCommand. Java │ │ RegisterUserCommand. Java │ │ RemoveGroupFromGroupCommand. Java │ │ RemoveUserFromGroupCommand. Java │ │ │ └ ─ representation │ NotificationLogRepresentation. Java │ UserInRoleRepresentation. Java │ UserRepresentation. Java │ ├ ─ domain -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- │ layer [field] └ ─ model -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- model │ │ DomainRegistry. Java │ │ │ ├ ─ access -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- access model │ │ AuthorizationService. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- │ field service │ GroupAssignedToRole. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- field events │ │ GroupUnassignedFromRole. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - field events │ │ Role. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- entity │ │ RoleProvisioned. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - field events │ │ RoleRepository. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- the repository interface │ │ UserAssignedToRole. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - field events │ │ UserUnassignedFromRole. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- field events │ │ │ └ ─ identity -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - identity model │ AuthenticationService. Java │ ContactInformation. Java │ EmailAddress. Java │ Enablement. Java │ EncryptionService. Java │ FullName. Java │ Group. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- entity │ GroupGroupAdded. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - field events │ GroupGroupRemoved. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- field events │ GroupMember. Java │ GroupMemberService. Java │ Java │ GroupMemberType. Java │ GroupProvisioned. Java │ grouprepository.java │ GroupMemberType GroupUserAdded. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- field events │ GroupUserRemoved. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - │ field events InvitationDescriptor. Java │ PasswordService. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- │ field service Person. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- entity │ PersonContactInformationChanged. Java -- -- -- -- -- -- -- -- -- -- - │ field events PersonNameChanged. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- field events │ PostalAddress. Java │ RegistrationInvitation. Java │ Telephone. Java │ Tenant. Java │ TenantActivated. Java │ TenantAdministratorRegistered. Java │ TenantDeactivated. Java │ TenantId. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- │ TenantProvisioned. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- │ field events TenantProvisioningService. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - field service │ TenantRepository. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- │ repository interface User. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- entity │ UserDescriptor. Java │ UserEnablementChanged. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- field events │ UserPasswordChanged. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- │ field events UserRegistered. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- field events │ UserRepository. Java -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- │ repository interface ├ ─ infrastructure -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- layer [infrastructure] │ ├ ─ persistence -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- the persistence layer │ │ GroupMemberTypeUserType. Java │ │ HibernateGroupRepository. Java │ │ HibernateRoleRepository. Java │ │ HibernateTenantRepository. Java │ │ HibernateUserRepository. Java │ │ │ └ ─ services -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- │ service layer MD5EncryptionService. Java │ └ ─ resource AbstractResource. Java GroupResource. Java NotificationResource. Java TenantResource.java UserResource.javaCopy the code
2. List of collected classes and interfaces
com.saasovation.agilepm.domain.model.DomainTest
com.saasovation.agilepm.domain.model.DomainRegistry
com.saasovation.agilepm.domain.model.DomainEvent
com.saasovation.agilepm.domain.model.DomainEventPublisher
com.saasovation.agilepm.domain.model.product.BacklogItemRepository
com.saasovation.agilepm.domain.model.product.BacklogItem
com.saasovation.agilepm.domain.model.product.Tenant
com.saasovation.agilepm.domain.model.product.SprintId
com.saasovation.agilepm.domain.model.product.BusinessPriority
com.saasovation.agilepm.domain.model.product.BusinessPriorityRatings
com.saasovation.agilepm.domain.model.product.BusinessPriorityTest
com.saasovation.agilepm.domain.model.product.BusinessPriorityCalculator
com.saasovation.agilepm.domain.model.product.BacklogItemComitted
com.saasovation.agilepm.domain.model.product.Product
com.saasovation.agilepm.domain.model.product.backlogitem.BacklogItem
com.saasovation.agilepm.domain.model.product.release.Release
com.saasovation.agilepm.domain.model.product.sprint.Sprint
com.saasovation.agilepm.domain.model.product.impl.InMemoryProductRepository
com.saasovation.agilepm.domain.model.product.ProductRepository
com.saasovation.agilepm.domain.model.product.ProductDiscussion
com.saasovation.agilepm.domain.model.product.ProductDiscussionRequested
com.saasovation.agilepm.domain.model.product.ProductDiscussionRequestTimeOut
com.saasovation.agilepm.domain.model.tenant.TenantId
com.saasovation.agilepm.domain.model.team.MemberService
com.saasovation.agilepm.domain.model.team.ProductOwner
com.saasovation.agilepm.domain.model.team.Team
com.saasovation.agilepm.domain.model.team.TeamMember
com.saasovation.agilepm.domain.model.team.Member
com.saasovation.agilepm.domain.model.team.MemberChangeTracker
com.saasovation.agilepm.infrastructure.persistence.CoherenceProductRepository
com.saasovation.agilepm.infrastructure.messaging.TeamMemberEnablerListener
com.saasovation.agilepm.infrastrcuture.messaging.ProductDiscussionRequestedListener
com.saasovation.agilepm.infrastructure.messaging.DiscussionStartedListener
com.saasovation.agilepm.infrastructure.messaging.ProductDiscussionRetryListener
com.saasovation.agilepm.infrastructure.HibernateBacklogItemRepository
com.saasovation.agilepm.application.TeamService
com.saasovation.agilepm.application.ProductService
com.saasovation.agilepm.application.ProcessService
com.saasovation.identityaccess.domain.model.DomainRegistry
com.saasovation.identityaccess.domain.model.identity.User
com.saasovation.identityaccess.domain.model.identity.GroupMemberType
com.saasovation.identityaccess.domain.model.identity.Group
com.saasovation.identityaccess.domain.model.identity.GroupMember
com.saasovation.identityaccess.domain.model.identity.TenantId
com.saasovation.identityaccess.domain.model.identity.AuthenticationService
com.saasovation.identityaccess.domain.model.identity.Tenant
com.saasovation.identityaccess.domain.model.identity.UserDescriptor
com.saasovation.identityaccess.domain.model.access.Role
com.saasovation.identityaccess.application.eventStore.EventStore
com.saasovation.identityaccess.application.eventStore.StoredEvent
com.saasovation.identityaccess.application.NotificationService
com.saasovation.identityaccess.application.AccessService
com.saasovation.identityaccess.application.TenantIdentityService
com.saasovation.identityaccess.application.notifications.PublishedMessageTracker
com.saasovation.identityaccess.infrastructure.persistence.HibernateUserRepository
com.saasovation.identityaccess.infrastructure.servicies.DefaultEncryptionAuthenticationService
com.saasovation.identityaccess.infrastructure.persistence.GroupMemberTypeUserType
com.saasovation.identityaccess.infrastructure.persistence.SpringHibernateSessionProvider
com.saasovation.collaboration.domain.model.tenant.Tenant
com.saasovation.collaboration.domain.model.forum.Forum
com.saasovation.collaboration.domain.model.calendar.Calendar
com.saasovation.collaboration.domain.model.calendar.CalendarEntityRepository
com.saasovation.collaboration.domain.model.collaborator.CollaboratorService
com.saasovation.collaboration.domain.model.collaborator.Author
com.saasovation.collaboration.domain.model.collaborator.Collaborator
com.saasovation.collaboration.infrastructure.persistence.HibernateCalendarEntityRepository
com.saasovation.collaboration.infrastructure.persistence.SpringHibernateSessionProvider
com.saasovation.collaboration.infrastructure.servicies.UserRoleToCollaboratorService
com.saasovation.collaboration.infrastructure.services.TranslatingCollaboratorService
com.saasovation.collaboration.infrastructure.services.UserInRoleAdapter
com.saasovation.collaboration.infrastructure.services.CollaboratorTranslator
com.saasovation.collaboration.infrastructure.messaging.ExclusiveDiscussionCreationListener
com.saasovation.collaboration.application.ForumService
com.saasovation.collaboration.application.AccessService
com.saasovation.common.media.OvationMediaType
com.saasovation.common.media.ReprensentationReader
com.saasovation.common.port.adapter.messaging.rabbitmq.ExchangeListener
com.saasovation.common.domain.model.process.ProcessId
com.saasovation.common.domain.model.process.ProcessTimeOut
com.saasovation.common.domain.model.process.Process
Copy the code
- DDD: Bounded Context and Java modules — domain events
- DDD: Hexagonal architecture [Onion] — Domain services