Open Closed

Why commercial easycrm sample doesn't follow the domain driven design best practices? #2609


User avatar
0
GerryGe created

I have queries about the commercial easycrm sample. Take ProductGroup and Product for example, there are both aggregate root. As saied in book <<Implementing_Domain_Driven_Design>>:

Aggregate / Aggregate Root Rules & Best Practices

But as you can see in EasyCrm sample, ProductGroup have a collection of the Products, and Product have a navigation property for the ProductGroup.

Above is just one sample doesn't follow the book. Actully, there are many places. I would like to know why not follow the best practices? Do you have any good reasons? if not, can you refactor these code? And this sample always upgrade delayed. Now still in v5.0.0.


14 Answer(s)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    This is just a sample project, you can change it according to your needs, we will upgrade it in the near future.

  • User Avatar
    0
    GerryGe created

    Hi, I cannot agree with you. This is an official commercial example! As describe in your documents, It is a good application for a real life scenario.

    Other examples are very sample, only this one is close to the production. I strongly hope that you can provide an example totally follow best practices which you have summarized.

    Do you have any plans to refactor this example? I think it will be a better service for a business user.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    OK, We will further improve it in the future.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Added to the internal work plan.

  • User Avatar
    0
    GerryGe created

    Added to the internal work plan.

    Hi, Thanks. Before I raised this issue, I have asked myself what the purpose of your examples is. I think you cannot cover specific business logic, because different customers have different requests. So I think the purpose of your samples especially commercial examplea are:

    1. Learn your best practices
    2. Learn your design

    The above is my opinion, if there is an error, please correct it.

    Best regards.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    You are right, We will review it.

  • User Avatar
    0
    alper created
    Support Team Director

    let's keep it open until it gets solved

  • User Avatar
    0
    GerryGe created

    let's keep it open until it gets solved

    Have fixed?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    It's on the plan.

  • User Avatar
    0
    GerryGe created

    let's keep it open until it gets solved

    Why always auto close the ticket?

  • User Avatar
    0
    EngincanV created
    Support Team .NET Developer

    Why always auto close the ticket?

    Hi @GerryGe, we generally close a ticket, when we create an issue for a problem in our internal repository, in another word when we take an action about the problem. We've created an issue for your question and keep it open until it is fixed.

    Sorry for the misunderstanding. Best regards.

  • User Avatar
    0
    GerryGe created

    Why always auto close the ticket?

    Hi @GerryGe, we generally close a ticket, when we create an issue for a problem in our internal repository, in another word when we take an action about the problem. We've created an issue for your question and keep it open until it is fixed.

    Sorry for the misunderstanding. Best regards.

    But where can I get the update?

  • User Avatar
    0
    EngincanV created
    Support Team .NET Developer

    But where can I get the update?

    After we've updated the EasyCrm application, we'll inform you.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    It will be available in 5.2-rc3 or 5.2

Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11