实例介绍
实现领域驱动设计对应的java实例代码
【实例截图】
【核心代码】
4744302542851171281.zip
└── IDDD_Samples-master
├── build.gradle
├── iddd_agilepm
│ └── src
│ ├── main
│ │ └── java
│ │ └── com
│ │ └── saasovation
│ │ └── agilepm
│ │ ├── application
│ │ │ ├── ApplicationServiceLifeCycle.java
│ │ │ ├── notification
│ │ │ │ └── NotificationApplicationService.java
│ │ │ ├── process
│ │ │ │ └── ProcessApplicationService.java
│ │ │ ├── product
│ │ │ │ ├── backlogitem
│ │ │ │ │ └── BacklogItemApplicationService.java
│ │ │ │ ├── InitiateDiscussionCommand.java
│ │ │ │ ├── NewProductCommand.java
│ │ │ │ ├── ProductApplicationService.java
│ │ │ │ ├── RequestProductDiscussionCommand.java
│ │ │ │ ├── RetryProductDiscussionRequestCommand.java
│ │ │ │ ├── StartDiscussionInitiationCommand.java
│ │ │ │ └── TimeOutProductDiscussionRequestCommand.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
│ │ │ ├── discussion
│ │ │ │ ├── DiscussionAvailability.java
│ │ │ │ └── DiscussionDescriptor.java
│ │ │ ├── Entity.java
│ │ │ ├── product
│ │ │ │ ├── backlogitem
│ │ │ │ │ ├── BacklogItemCategoryChanged.java
│ │ │ │ │ ├── BacklogItemCommitted.java
│ │ │ │ │ ├── BacklogItemDiscussionInitiated.java
│ │ │ │ │ ├── BacklogItemDiscussion.java
│ │ │ │ │ ├── BacklogItemDiscussionRequested.java
│ │ │ │ │ ├── BacklogItemId.java
│ │ │ │ │ ├── BacklogItem.java
│ │ │ │ │ ├── BacklogItemMarkedAsRemoved.java
│ │ │ │ │ ├── BacklogItemRepository.java
│ │ │ │ │ ├── BacklogItemScheduled.java
│ │ │ │ │ ├── BacklogItemStatusChanged.java
│ │ │ │ │ ├── BacklogItemStatus.java
│ │ │ │ │ ├── BacklogItemStoryPointsAssigned.java
│ │ │ │ │ ├── BacklogItemStoryTold.java
│ │ │ │ │ ├── BacklogItemSummarized.java
│ │ │ │ │ ├── BacklogItemTypeChanged.java
│ │ │ │ │ ├── BacklogItemType.java
│ │ │ │ │ ├── BacklogItemUncommitted.java
│ │ │ │ │ ├── BacklogItemUnscheduled.java
│ │ │ │ │ ├── BusinessPriorityAssigned.java
│ │ │ │ │ ├── BusinessPriorityCalculator.java
│ │ │ │ │ ├── BusinessPriority.java
│ │ │ │ │ ├── BusinessPriorityRatings.java
│ │ │ │ │ ├── BusinessPriorityTotals.java
│ │ │ │ │ ├── EstimationLogEntry.java
│ │ │ │ │ ├── StoryPoints.java
│ │ │ │ │ ├── TaskDefined.java
│ │ │ │ │ ├── TaskDescribed.java
│ │ │ │ │ ├── TaskHoursRemainingEstimated.java
│ │ │ │ │ ├── TaskId.java
│ │ │ │ │ ├── Task.java
│ │ │ │ │ ├── TaskRemoved.java
│ │ │ │ │ ├── TaskRenamed.java
│ │ │ │ │ ├── TaskStatusChanged.java
│ │ │ │ │ ├── TaskStatus.java
│ │ │ │ │ └── TaskVolunteerAssigned.java
│ │ │ │ ├── ProductBacklogItem.java
│ │ │ │ ├── ProductBacklogItemPlanned.java
│ │ │ │ ├── ProductCreated.java
│ │ │ │ ├── ProductDiscussionInitiated.java
│ │ │ │ ├── ProductDiscussion.java
│ │ │ │ ├── ProductDiscussionRequested.java
│ │ │ │ ├── ProductDiscussionRequestTimedOut.java
│ │ │ │ ├── ProductId.java
│ │ │ │ ├── Product.java
│ │ │ │ ├── ProductReleaseScheduled.java
│ │ │ │ ├── ProductRepository.java
│ │ │ │ ├── ProductSprintScheduled.java
│ │ │ │ ├── release
│ │ │ │ │ ├── ReleaseId.java
│ │ │ │ │ ├── Release.java
│ │ │ │ │ ├── ReleaseRepository.java
│ │ │ │ │ └── ScheduledBacklogItem.java
│ │ │ │ └── sprint
│ │ │ │ ├── CommittedBacklogItem.java
│ │ │ │ ├── SprintId.java
│ │ │ │ ├── Sprint.java
│ │ │ │ └── SprintRepository.java
│ │ │ ├── team
│ │ │ │ ├── MemberChangeTracker.java
│ │ │ │ ├── Member.java
│ │ │ │ ├── ProductOwnerId.java
│ │ │ │ ├── ProductOwner.java
│ │ │ │ ├── ProductOwnerRepository.java
│ │ │ │ ├── Team.java
│ │ │ │ ├── TeamMemberId.java
│ │ │ │ ├── TeamMember.java
│ │ │ │ ├── TeamMemberRepository.java
│ │ │ │ └── TeamRepository.java
│ │ │ ├── tenant
│ │ │ │ └── TenantId.java
│ │ │ └── ValueObject.java
│ │ └── port
│ │ └── adapter
│ │ ├── messaging
│ │ │ ├── ProductDiscussionExclusiveOwnerId.java
│ │ │ ├── rabbitmq
│ │ │ │ ├── RabbitMQBacklogItemCommittedListener.java
│ │ │ │ ├── RabbitMQDiscussionStartedListener.java
│ │ │ │ ├── RabbitMQProductDiscussionRequestedListener.java
│ │ │ │ ├── RabbitMQProductDiscussionRetryListener.java
│ │ │ │ ├── RabbitMQTeamMemberDisablerListener.java
│ │ │ │ ├── RabbitMQTeamMemberEmailAddressChangedListener.java
│ │ │ │ ├── RabbitMQTeamMemberEnablerListener.java
│ │ │ │ └── RabbitMQTeamMemberNameChangedListener.java
│ │ │ └── sloth
│ │ │ ├── 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
│ └── test
│ └── java
│ └── com
│ └── saasovation
│ └── agilepm
│ ├── application
│ │ ├── notification
│ │ │ └── ProcessApplicationServiceTest.java
│ │ ├── product
│ │ │ └── ProductApplicationServiceTest.java
│ │ └── ProductApplicationCommonTest.java
│ ├── domain
│ │ └── model
│ │ ├── DomainTest.java
│ │ ├── product
│ │ │ ├── backlogitem
│ │ │ │ ├── BacklogItemTest.java
│ │ │ │ ├── BusinessPriorityTest.java
│ │ │ │ ├── EstimationLogEntryTest.java
│ │ │ │ └── TaskTest.java
│ │ │ ├── ProductCommonTest.java
│ │ │ ├── ProductTest.java
│ │ │ ├── release
│ │ │ │ └── ReleaseTest.java
│ │ │ └── sprint
│ │ │ └── SprintTest.java
│ │ └── team
│ │ ├── ProductOwnerTest.java
│ │ ├── TeamCommonTest.java
│ │ ├── TeamMemberTest.java
│ │ └── TeamTest.java
│ └── port
│ └── adapter
│ └── persistence
│ ├── LevelDBBacklogItemRepositoryTest.java
│ ├── LevelDBProductOwnerRepositoryTest.java
│ ├── LevelDBProductRepositoryTest.java
│ ├── LevelDBReleaseRepositoryTest.java
│ ├── LevelDBSprintRepositoryTest.java
│ ├── LevelDBTeamMemberRepositoryTest.java
│ └── LevelDBTeamRepositoryTest.java
├── iddd_collaboration
│ └── src
│ ├── main
│ │ ├── 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
│ │ │ │ ├── data
│ │ │ │ │ ├── DiscussionCommandResult.java
│ │ │ │ │ ├── DiscussionData.java
│ │ │ │ │ ├── DiscussionPostsData.java
│ │ │ │ │ ├── ForumCommandResult.java
│ │ │ │ │ ├── ForumData.java
│ │ │ │ │ ├── ForumDiscussionsData.java
│ │ │ │ │ └── PostData.java
│ │ │ │ ├── DiscussionApplicationService.java
│ │ │ │ ├── DiscussionQueryService.java
│ │ │ │ ├── ForumApplicationService.java
│ │ │ │ ├── ForumQueryService.java
│ │ │ │ ├── PostApplicationService.java
│ │ │ │ └── PostQueryService.java
│ │ │ ├── domain
│ │ │ │ └── model
│ │ │ │ ├── calendar
│ │ │ │ │ ├── Alarm.java
│ │ │ │ │ ├── AlarmUnitsType.java
│ │ │ │ │ ├── CalendarCreated.java
│ │ │ │ │ ├── CalendarDescriptionChanged.java
│ │ │ │ │ ├── CalendarEntryDescriptionChanged.java
│ │ │ │ │ ├── CalendarEntryId.java
│ │ │ │ │ ├── CalendarEntry.java
│ │ │ │ │ ├── CalendarEntryParticipantInvited.java
│ │ │ │ │ ├── CalendarEntryParticipantUninvited.java
│ │ │ │ │ ├── CalendarEntryRelocated.java
│ │ │ │ │ ├── CalendarEntryRepository.java
│ │ │ │ │ ├── CalendarEntryRescheduled.java
│ │ │ │ │ ├── CalendarEntryScheduled.java
│ │ │ │ │ ├── CalendarIdentityService.java
│ │ │ │ │ ├── CalendarId.java
│ │ │ │ │ ├── Calendar.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
│ │ │ │ ├── DomainRegistry.java
│ │ │ │ ├── forum
│ │ │ │ │ ├── DiscussionClosed.java
│ │ │ │ │ ├── DiscussionId.java
│ │ │ │ │ ├── Discussion.java
│ │ │ │ │ ├── DiscussionReopened.java
│ │ │ │ │ ├── DiscussionRepository.java
│ │ │ │ │ ├── DiscussionStarted.java
│ │ │ │ │ ├── ForumClosed.java
│ │ │ │ │ ├── ForumDescriptionChanged.java
│ │ │ │ │ ├── ForumIdentityService.java
│ │ │ │ │ ├── ForumId.java
│ │ │ │ │ ├── Forum.java
│ │ │ │ │ ├── ForumModeratorChanged.java
│ │ │ │ │ ├── ForumReopened.java
│ │ │ │ │ ├── ForumRepository.java
│ │ │ │ │ ├── ForumStarted.java
│ │ │ │ │ ├── ForumSubjectChanged.java
│ │ │ │ │ ├── PostContentAltered.java
│ │ │ │ │ ├── PostedToDiscussion.java
│ │ │ │ │ ├── PostId.java
│ │ │ │ │ ├── Post.java
│ │ │ │ │ └── PostRepository.java
│ │ │ │ └── tenant
│ │ │ │ └── Tenant.java
│ │ │ └── port
│ │ │ └── adapter
│ │ │ ├── event
│ │ │ │ └── FollowStoreEventDispatcher.java
│ │ │ ├── messaging
│ │ │ │ ├── ExclusiveDiscussionCreationListener.java
│ │ │ │ └── RabbitMQEventDispatcher.java
│ │ │ ├── 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
│ │ ├── mysql
│ │ │ ├── collaboration.sql
│ │ │ └── db_setup.bat
│ │ └── resources
│ │ └── applicationContext-collaboration.xml
│ └── test
│ ├── java
│ │ └── com
│ │ └── saasovation
│ │ └── collaboration
│ │ ├── application
│ │ │ ├── ApplicationTest.java
│ │ │ ├── calendar
│ │ │ │ ├── CalendarApplicationServiceTest.java
│ │ │ │ ├── CalendarEntryApplicationServiceTest.java
│ │ │ │ ├── CalendarEntryQueryServiceTest.java
│ │ │ │ └── CalendarQueryServiceTest.java
│ │ │ └── forum
│ │ │ ├── DiscussionApplicationServiceTest.java
│ │ │ ├── DiscussionQueryServiceTest.java
│ │ │ ├── ForumApplicationServiceTest.java
│ │ │ ├── ForumQueryServiceTest.java
│ │ │ ├── PostApplicationServiceTest.java
│ │ │ └── PostQueryServiceTest.java
│ │ ├── domain
│ │ │ └── model
│ │ │ ├── calendar
│ │ │ │ └── CalendarTest.java
│ │ │ ├── collaborator
│ │ │ │ ├── CollaboratorServiceTest.java
│ │ │ │ └── CollaboratorTest.java
│ │ │ ├── DomainTest.java
│ │ │ └── forum
│ │ │ ├── AbstractForumTest.java
│ │ │ ├── DiscussionTest.java
│ │ │ └── ForumTest.java
│ │ ├── port
│ │ │ └── adapter
│ │ │ └── service
│ │ │ └── MockUserInRoleAdapter.java
│ │ └── StorageCleaner.java
│ └── resources
│ └── applicationContext-collaboration-test.xml
├── iddd_common
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── saasovation
│ │ │ └── common
│ │ │ ├── AssertionConcern.java
│ │ │ ├── domain
│ │ │ │ └── model
│ │ │ │ ├── AbstractId.java
│ │ │ │ ├── ConcurrencySafeEntity.java
│ │ │ │ ├── DomainEvent.java
│ │ │ │ ├── DomainEventPublisher.java
│ │ │ │ ├── DomainEventSubscriber.java
│ │ │ │ ├── Entity.java
│ │ │ │ ├── EventSourcedRootEntity.java
│ │ │ │ ├── IdentifiedDomainObject.java
│ │ │ │ ├── IdentifiedValueObject.java
│ │ │ │ ├── Identity.java
│ │ │ │ ├── process
│ │ │ │ │ ├── AbstractProcess.java
│ │ │ │ │ ├── ProcessId.java
│ │ │ │ │ ├── Process.java
│ │ │ │ │ ├── ProcessTimedOut.java
│ │ │ │ │ ├── TimeConstrainedProcessTracker.java
│ │ │ │ │ └── TimeConstrainedProcessTrackerRepository.java
│ │ │ │ ├── ValidationNotificationHandler.java
│ │ │ │ └── Validator.java
│ │ │ ├── event
│ │ │ │ ├── EventSerializer.java
│ │ │ │ ├── EventStore.java
│ │ │ │ ├── sourcing
│ │ │ │ │ ├── DispatchableDomainEvent.java
│ │ │ │ │ ├── EventDispatcher.java
│ │ │ │ │ ├── EventNotifiable.java
│ │ │ │ │ ├── EventStoreAppendException.java
│ │ │ │ │ ├── EventStoreException.java
│ │ │ │ │ ├── EventStore.java
│ │ │ │ │ ├── EventStoreVersionException.java
│ │ │ │ │ ├── EventStreamId.java
│ │ │ │ │ └── EventStream.java
│ │ │ │ └── StoredEvent.java
│ │ │ ├── media
│ │ │ │ ├── AbstractJSONMediaReader.java
│ │ │ │ ├── canonical
│ │ │ │ │ ├── CanonicalDataFormatter.java
│ │ │ │ │ ├── Encoder.java
│ │ │ │ │ └── EncodingMarker.java
│ │ │ │ ├── Link.java
│ │ │ │ ├── OvationsMediaType.java
│ │ │ │ └── RepresentationReader.java
│ │ │ ├── notification
│ │ │ │ ├── Notification.java
│ │ │ │ ├── NotificationLogFactory.java
│ │ │ │ ├── NotificationLogId.java
│ │ │ │ ├── NotificationLogInfo.java
│ │ │ │ ├── NotificationLog.java
│ │ │ │ ├── NotificationLogReader.java
│ │ │ │ ├── NotificationPublisher.java
│ │ │ │ ├── NotificationReader.java
│ │ │ │ ├── NotificationSerializer.java
│ │ │ │ ├── PublishedNotificationTracker.java
│ │ │ │ └── PublishedNotificationTrackerStore.java
│ │ │ ├── persistence
│ │ │ │ ├── CleanableStore.java
│ │ │ │ └── PersistenceManagerProvider.java
│ │ │ ├── port
│ │ │ │ └── adapter
│ │ │ │ ├── messaging
│ │ │ │ │ ├── Exchanges.java
│ │ │ │ │ ├── MessageException.java
│ │ │ │ │ ├── rabbitmq
│ │ │ │ │ │ ├── BrokerChannel.java
│ │ │ │ │ │ ├── ConnectionSettings.java
│ │ │ │ │ │ ├── Exchange.java
│ │ │ │ │ │ ├── ExchangeListener.java
│ │ │ │ │ │ ├── MessageConsumer.java
│ │ │ │ │ │ ├── MessageListener.java
│ │ │ │ │ │ ├── MessageParameters.java
│ │ │ │ │ │ ├── MessageProducer.java
│ │ │ │ │ │ └── Queue.java
│ │ │ │ │ └── slothmq
│ │ │ │ │ ├── ClientRegistration.java
│ │ │ │ │ ├── ExchangeListener.java
│ │ │ │ │ ├── ExchangePublisher.java
│ │ │ │ │ ├── SlothClient.java
│ │ │ │ │ ├── SlothServer.java
│ │ │ │ │ └── SlothWorker.java
│ │ │ │ ├── notification
│ │ │ │ │ ├── RabbitMQNotificationPublisher.java
│ │ │ │ │ └── SlothMQNotificationPublisher.java
│ │ │ │ └── persistence
│ │ │ │ ├── AbstractProjection.java
│ │ │ │ ├── AbstractQueryService.java
│ │ │ │ ├── ConnectionProvider.java
│ │ │ │ ├── eventsourcing
│ │ │ │ │ ├── DefaultEventStream.java
│ │ │ │ │ ├── hashmap
│ │ │ │ │ │ ├── HashMapEventStore.java
│ │ │ │ │ │ ├── HashMapJournal.java
│ │ │ │ │ │ ├── JournalKeyProvider.java
│ │ │ │ │ │ ├── LoggableJournalEntry.java
│ │ │ │ │ │ └── LoggedJournalEntry.java
│ │ │ │ │ ├── leveldb
│ │ │ │ │ │ ├── JournalKeyProvider.java
│ │ │ │ │ │ ├── LevelDBEventStore.java
│ │ │ │ │ │ ├── LevelDBJournal.java
│ │ │ │ │ │ ├── LevelDBJournalRepairTool.java
│ │ │ │ │ │ ├── LoggableJournalEntry.java
│ │ │ │ │ │ └── LoggedJournalEntry.java
│ │ │ │ │ └── mysql
│ │ │ │ │ └── MySQLJDBCEventStore.java
│ │ │ │ ├── hibernate
│ │ │ │ │ ├── AbstractHibernateSession.java
│ │ │ │ │ ├── EnumUserType.java
│ │ │ │ │ ├── HibernateEventStore.java
│ │ │ │ │ ├── HibernatePublishedNotificationTrackerStore.java
│ │ │ │ │ ├── HibernateTimeConstrainedProcessTrackerRepository.java
│ │ │ │ │ └── ProcessCompletionTypeUserType.java
│ │ │ │ ├── JoinOn.java
│ │ │ │ ├── leveldb
│ │ │ │ │ ├── AbstractLevelDBRepository.java
│ │ │ │ │ ├── LevelDBEventStore.java
│ │ │ │ │ ├── LevelDBKey.java
│ │ │ │ │ ├── LevelDBProvider.java
│ │ │ │ │ ├── LevelDBPublishedNotificationTrackerStore.java
│ │ │ │ │ ├── LevelDBTimeConstrainedProcessTrackerRepository.java
│ │ │ │ │ └── LevelDBUnitOfWork.java
│ │ │ │ └── ResultSetObjectMapper.java
│ │ │ ├── serializer
│ │ │ │ ├── AbstractSerializer.java
│ │ │ │ ├── ObjectSerializer.java
│ │ │ │ └── PropertiesSerializer.java
│ │ │ └── spring
│ │ │ ├── ApplicationContextProvider.java
│ │ │ └── SpringHibernateSessionProvider.java
│ │ ├── mysql
│ │ │ ├── common.sql
│ │ │ ├── db_setup.bat
│ │ │ └── test_common.sql
│ │ └── resources
│ │ ├── applicationContext-common.xml
│ │ ├── hibernate.cfg.xml
│ │ ├── PublishedNotificationTracker.hbm.xml
│ │ ├── StoredEvent.hbm.xml
│ │ ├── TestableTimeConstrainedProcess.hbm.xml
│ │ └── TimeConstrainedProcessTracker.hbm.xml
│ └── test
│ └── java
│ └── com
│ └── saasovation
│ └── common
│ ├── CommonTestCase.java
│ ├── domain
│ │ └── model
│ │ ├── EventTrackingTestCase.java
│ │ └── process
│ │ ├── TestableTimeConstrainedProcess.java
│ │ ├── TestableTimeConstrainedProcessRepository.java
│ │ ├── TestableTimeConstrainedProcessTimedOut.java
│ │ └── TimeConstrainedProcessTest.java
│ ├── event
│ │ ├── AnotherTestableDomainEvent.java
│ │ ├── DomainEventPublisherTest.java
│ │ ├── EventSerializerTest.java
│ │ ├── EventStoreContractTest.java
│ │ ├── MockEventStore.java
│ │ ├── TestableDomainEvent.java
│ │ └── TestableNavigableDomainEvent.java
│ ├── media
│ │ └── RepresentationReaderTest.java
│ ├── notification
│ │ ├── MockPublishedNotificationTrackerStore.java
│ │ ├── NotificationLogTest.java
│ │ ├── NotificationPublisherCreationTest.java
│ │ ├── NotificationReaderTest.java
│ │ └── TestableNullPropertyDomainEvent.java
│ └── port
│ └── adapter
│ ├── messaging
│ │ ├── AllPhoneNumbersCounted.java
│ │ ├── AllPhoneNumbersListed.java
│ │ ├── MatchedPhoneNumbersCounted.java
│ │ ├── PhoneNumberProcessEvent.java
│ │ ├── PhoneNumbersMatched.java
│ │ ├── rabbitmq
│ │ │ ├── RabbitMQNotificationPublisherTest.java
│ │ │ └── RabbitMQPipesFiltersTest.java
│ │ └── slothmq
│ │ ├── SlothMQPipesFiltersTest.java
│ │ └── SlothTest.java
│ └── persistence
│ ├── eventsourcing
│ │ ├── hashmap
│ │ │ └── HashMapEventSourcingEventStoreTest.java
│ │ ├── leveldb
│ │ │ └── LevelDBEventSourcingEventStoreTest.java
│ │ └── mysql
│ │ └── MySQLJDBCEventStoreTest.java
│ └── leveldb
│ ├── LevelDBEventStoreTest.java
│ ├── LevelDBPersistenceTest.java
│ ├── LevelDBPublishedNotificationTrackerStoreTest.java
│ ├── LevelDBTest.java
│ └── LevelDBTimeConstrainedProcessTrackerRepositoryTest.java
├── iddd_identityaccess
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── saasovation
│ │ │ └── identityaccess
│ │ │ ├── application
│ │ │ │ ├── AccessApplicationService.java
│ │ │ │ ├── ApplicationServiceRegistry.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
│ │ │ │ ├── IdentityAccessEventProcessor.java
│ │ │ │ ├── IdentityApplicationService.java
│ │ │ │ ├── NotificationApplicationService.java
│ │ │ │ └── representation
│ │ │ │ ├── NotificationLogRepresentation.java
│ │ │ │ ├── UserInRoleRepresentation.java
│ │ │ │ └── UserRepresentation.java
│ │ │ ├── domain
│ │ │ │ └── model
│ │ │ │ ├── access
│ │ │ │ │ ├── AuthorizationService.java
│ │ │ │ │ ├── GroupAssignedToRole.java
│ │ │ │ │ ├── GroupUnassignedFromRole.java
│ │ │ │ │ ├── Role.java
│ │ │ │ │ ├── RoleProvisioned.java
│ │ │ │ │ ├── RoleRepository.java
│ │ │ │ │ ├── UserAssignedToRole.java
│ │ │ │ │ └── UserUnassignedFromRole.java
│ │ │ │ ├── DomainRegistry.java
│ │ │ │ └── identity
│ │ │ │ ├── AuthenticationService.java
│ │ │ │ ├── ContactInformation.java
│ │ │ │ ├── EmailAddress.java
│ │ │ │ ├── Enablement.java
│ │ │ │ ├── EncryptionService.java
│ │ │ │ ├── FullName.java
│ │ │ │ ├── GroupGroupAdded.java
│ │ │ │ ├── GroupGroupRemoved.java
│ │ │ │ ├── Group.java
│ │ │ │ ├── GroupMember.java
│ │ │ │ ├── GroupMemberService.java
│ │ │ │ ├── GroupMemberType.java
│ │ │ │ ├── GroupProvisioned.java
│ │ │ │ ├── GroupRepository.java
│ │ │ │ ├── GroupUserAdded.java
│ │ │ │ ├── GroupUserRemoved.java
│ │ │ │ ├── InvitationDescriptor.java
│ │ │ │ ├── PasswordService.java
│ │ │ │ ├── PersonContactInformationChanged.java
│ │ │ │ ├── Person.java
│ │ │ │ ├── PersonNameChanged.java
│ │ │ │ ├── PostalAddress.java
│ │ │ │ ├── RegistrationInvitation.java
│ │ │ │ ├── Telephone.java
│ │ │ │ ├── TenantActivated.java
│ │ │ │ ├── TenantAdministratorRegistered.java
│ │ │ │ ├── TenantDeactivated.java
│ │ │ │ ├── TenantId.java
│ │ │ │ ├── Tenant.java
│ │ │ │ ├── TenantProvisioned.java
│ │ │ │ ├── TenantProvisioningService.java
│ │ │ │ ├── TenantRepository.java
│ │ │ │ ├── UserDescriptor.java
│ │ │ │ ├── UserEnablementChanged.java
│ │ │ │ ├── User.java
│ │ │ │ ├── UserPasswordChanged.java
│ │ │ │ ├── UserRegistered.java
│ │ │ │ └── UserRepository.java
│ │ │ ├── infrastructure
│ │ │ │ ├── persistence
│ │ │ │ │ ├── GroupMemberTypeUserType.java
│ │ │ │ │ ├── HibernateGroupRepository.java
│ │ │ │ │ ├── HibernateRoleRepository.java
│ │ │ │ │ ├── HibernateTenantRepository.java
│ │ │ │ │ └── HibernateUserRepository.java
│ │ │ │ └── services
│ │ │ │ └── MD5EncryptionService.java
│ │ │ └── resource
│ │ │ ├── AbstractResource.java
│ │ │ ├── GroupResource.java
│ │ │ ├── NotificationResource.java
│ │ │ ├── TenantResource.java
│ │ │ └── UserResource.java
│ │ ├── mysql
│ │ │ ├── db_setup.bat
│ │ │ └── iam.sql
│ │ └── resources
│ │ ├── applicationContext-identityaccess-application.xml
│ │ ├── applicationContext-identityaccess.xml
│ │ ├── Group.hbm.xml
│ │ ├── GroupMember.hbm.xml
│ │ ├── hibernate.cfg.xml
│ │ ├── Person.hbm.xml
│ │ ├── PublishedNotificationTracker.hbm.xml
│ │ ├── RegistrationInvitation.hbm.xml
│ │ ├── Role.hbm.xml
│ │ ├── StoredEvent.hbm.xml
│ │ ├── Tenant.hbm.xml
│ │ ├── TimeConstrainedProcessTracker.hbm.xml
│ │ └── User.hbm.xml
│ └── test
│ ├── java
│ │ └── com
│ │ └── saasovation
│ │ └── identityaccess
│ │ ├── application
│ │ │ ├── AccessApplicationServiceTest.java
│ │ │ ├── ApplicationServiceTest.java
│ │ │ ├── IdentityApplicationServiceTest.java
│ │ │ ├── MockNotificationPublisher.java
│ │ │ └── NotificationApplicationServiceTest.java
│ │ ├── domain
│ │ │ └── model
│ │ │ ├── access
│ │ │ │ ├── AuthorizationServiceTest.java
│ │ │ │ └── RoleTest.java
│ │ │ ├── DomainTest.java
│ │ │ ├── identity
│ │ │ │ ├── AuthenticationServiceTest.java
│ │ │ │ ├── ContactInformationTest.java
│ │ │ │ ├── EnablementTest.java
│ │ │ │ ├── FullNameTest.java
│ │ │ │ ├── GroupRepositoryTest.java
│ │ │ │ ├── GroupTest.java
│ │ │ │ ├── PasswordServiceTest.java
│ │ │ │ ├── TenantTest.java
│ │ │ │ ├── UserRepositoryTest.java
│ │ │ │ └── UserTest.java
│ │ │ └── IdentityAccessTest.java
│ │ ├── infrastructure
│ │ │ └── persistence
│ │ │ ├── InMemoryEventStore.java
│ │ │ ├── InMemoryGroupRepository.java
│ │ │ ├── InMemoryRoleRepository.java
│ │ │ ├── InMemoryTenantRepository.java
│ │ │ └── InMemoryUserRepository.java
│ │ └── resource
│ │ ├── GroupResourceTest.java
│ │ ├── NotificationResourceTest.java
│ │ ├── ResourceTestCase.java
│ │ ├── TenantResourceTest.java
│ │ └── UserResourceTest.java
│ └── resources
│ └── applicationContext-identityaccess-test.xml
├── LICENSE.txt
├── README.txt
└── settings.gradle
182 directories, 545 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论