Skip to content
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 Request: Use Cases / Organize by Feature #82

Closed
ardalis opened this issue Nov 8, 2019 · 7 comments · Fixed by #171
Closed

Feature Request: Use Cases / Organize by Feature #82

ardalis opened this issue Nov 8, 2019 · 7 comments · Fixed by #171
Assignees

Comments

@ardalis
Copy link
Owner

ardalis commented Nov 8, 2019

Demonstrate how to use a feature folder / use cases organization for the solution template.

See #21, #37, #66 for background.

@rfpedrosa
Copy link

@ardalis I see this open for a while and I'm wondering if this is something in your list in a near future? I'm also wondering if you have any thoughts about domain/ApplicationCore (something like how it is done in the API) and if some help is needed?

@ardalis
Copy link
Owner Author

ardalis commented Sep 10, 2020

  1. Not sure how soon I'll get to it. Could be a good topic for an upcoming stream on my twitch.tv/ardalis stream on Fridays. But right now I've got a bunch of other work I need to get done, first.
  2. Not sure what thoughts you're looking for, can you elaborate? What does domain/applicationcore have to do with how the api endpoints are set up in the web project?

@rfpedrosa
Copy link

rfpedrosa commented Oct 9, 2020

  1. watching 👍
  2. Correct If I'm wrong but one of the advantages of using API endpoints "is to avoid MVC Controllers as an antipattern". I believe that is great because when an API gets bigger, a feature organization is usually preferable. However, when I look at the core/domain, everything seems to be organized by type?
  • What I'm currently doing: I have a [AggregateRootName] subdirectory in every ApplicationnCore folder (if applicable). I mean, Events -> UserAggregate, Exceptions -> UserAggreate, and so on.
  • an alternative may be (ApplicationCore directories)?
- UserAggregate
  -- Events
  -- Exceptions
  -- Entities
- BasketAggregate
  -- Events
  -- Exceptions
  -- Entities

I'm wondering if you have any thoughts? or what were your thoughts when you got this feature requested created?

@ardalis
Copy link
Owner Author

ardalis commented Apr 2, 2021

I agree with your organization of the Domain Model in Core as far as grouping by aggregates and putting aggregate-specific things in those folders, rather than having top level folders for all the things like entities, services, etc.

The trick is, with a basically empty solution template, it's hard to show a vertical slices organization when there's not much there yet. Maybe I'll extend what's in the template so that I can show this kind of grouping.

@ardalis
Copy link
Owner Author

ardalis commented Apr 2, 2021

I'm working on this in my ardalis/project-aggregate branch. It's incomplete so far but will show organization by aggregate which will be a better and more feature-oriented organization.

@rfpedrosa
Copy link

@ardalis thanks for the feedback. Let me know if help is welcome. I may have a bit availability by the end of this week.

@ardalis
Copy link
Owner Author

ardalis commented Apr 5, 2021

I'll try to wrap it up during my stream on Friday. If you want to join via comments or a skype call let me know. Should be 3-5pm EST.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants