-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature / Domain Layer / Domain Model #93
Merged
dncsvr
merged 47 commits into
mouseless:epic/domain-layer
from
dncsvr:feature/domain-layer/domain-model
Jan 18, 2024
Merged
Feature / Domain Layer / Domain Model #93
dncsvr
merged 47 commits into
mouseless:epic/domain-layer
from
dncsvr:feature/domain-layer/domain-model
Jan 18, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- add classes for tests
- rename local variables to actual - minor fixes
- add _IsAbstract_ and _IsValueType_ properties to `TypeModel` - add `PropertyModel`
- move build logic from model dto's - edit model dto properties
- add model collection - add IModel interface
- change IModel.Name => Id - add custom attributes to type and method - minor edits and refactoring
- minor edits
- use keyedcollection in model collection - fix model ids - minor edits
- add ConfigureDomainOptions extension - configure options in default business feature
cihandeniz
reviewed
Jan 16, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there is much to review, for now fix these, we'll continue
src/blueprints/Do.Blueprints.Service.Application/Business/Default/DefaultBusinessFeature.cs
Outdated
Show resolved
Hide resolved
src/blueprints/Do.Blueprints.Service.Application/Business/Default/DefaultBusinessFeature.cs
Outdated
Show resolved
Hide resolved
src/blueprints/Do.Blueprints.Service.Application/Domain/DomainLayer.cs
Outdated
Show resolved
Hide resolved
src/blueprints/Do.Blueprints.Service.Application/Domain/DomainLayer.cs
Outdated
Show resolved
Hide resolved
src/blueprints/Do.Blueprints.Service.Application/Domain/Model/AssemblyModel.cs
Outdated
Show resolved
Hide resolved
test/blueprints/Do.Test.Blueprints.Service.Test/Business/RegisteringServices.cs
Outdated
Show resolved
Hide resolved
test/blueprints/Do.Test.Blueprints.Service.Test/Business/RegisteringServices.cs
Outdated
Show resolved
Hide resolved
src/blueprints/Do.Blueprints.Service.Application/Domain/Model/DomainModel.cs
Outdated
Show resolved
Hide resolved
src/blueprints/Do.Blueprints.Service.Application/Orm/Default/DefaultOrmFeature.cs
Outdated
Show resolved
Hide resolved
src/blueprints/Do.Blueprints.Service.Application/Domain/Model/TypeModel.cs
Outdated
Show resolved
Hide resolved
- remove `ApplicationContext` from `TestServiceSpec` - remove `GetServiceDescriptor()` extension - change tests to use stubber to get services - make ModelCollection.TryGetValue() public - change TypeModel from record to class - move IdFromType helper to TypeModel, can be deleted later
- change DomainModelExtensions to inline helper methods - fix `ClassDTO` constructor parameter names
- add `BaseType`to `TypeModel` - add `IsAssignableFrom` helper to `TypeModel` - remove `Distinct()`
- edit model properties to `AttributeModel`
- remove ConstructorModel - move access properties and returntype to OverloadModel
- add DomainModelBuilder and move build logic from DomainModel - remove ModelCollection add methods - DomainOptions => DomainBuilderOptions - add Init method to TypeModel
- update docs - remove `ClassDTO` and test case - remove `IsAssignableTo` helper - add `GiveMe.TheService<T>` helper - minor edits
- minor edits
- Remove `AttributeModel` - Add _FullName_ property to `AssemblyModel` - Add _FullName_ property to `TypeModel`
- make Id's explicit for models - make KeyedModelCollection public - edit DomainModelBuilder => use KeyedModelCollection
- use GiveMe.The helpers - remove TheService helper
- remove type is built conventions from `DomainBuilderOptions` - remove Type and Assembly descriptors
cihandeniz
approved these changes
Jan 18, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Complete implementation of
DomainModel
for service registration and orm mapping💡 Discussion
business classes to service collection.
a set of reflection helper classes.
Tasks
RegisteringServices
test fixtureWith
methods should be registered as transient with singleton factoriesIQueryContext<>
dependencies should be registered as singletonTypeModel
PropertyModel
ParameterModel
BuildDomain
phaseDomainBuilderOptions
for configuring buildAddAttributeModel
OverloadModel
for methods and constructors