Replies: 6 comments
-
Hello @flavioafa Thanks for asking these questions.
Please let me know if this clears it for you, and ask away anything you have! |
Beta Was this translation helpful? Give feedback.
-
Hello @Mulkave, thanks for your attention!
Thanks! |
Beta Was this translation helpful? Give feedback.
-
$this->run(InspectSomethingOperation::class) class InspectSomethingOperation extends Operation
{
public function handle()
{
$deadline = $this->run(GetDeadLineJob::class);
$this->run(ValidateDeadlineJob::class, compact('deadline');
}
} Of course this is a simplified example and there would be more details for each of the units above.
Does this information make it easier to understand the difference? |
Beta Was this translation helpful? Give feedback.
-
Okay, I need to understand more. It's getting interesting! I will explain to you how I understood it, based on what you explained to me, applying to the example I passed before. Let's go!
So, let me summarize what I’ve understood so far.
Sorry for so many questions, but I am perfecting myself in architecture to help my teammates! We are developing a medium / large project and chose Lucid Architecture because we understand that it would help to organize the project, facilitate maintenance and standardize communication between team members. This discussion is very valid for us not to go in the wrong direction and use the architecture in the right way. Thanks for listening! |
Beta Was this translation helpful? Give feedback.
-
In this scenario, Inspection and Deadline won't be separate services, but rather separate domains. A service is a way for your application to expose functionality. For example, you would have And you may also expose the same data, using the same jobs (or others) from Inspection and Deadline domains in another service called CMS
This depends on your data model. At the end of the day, this is all one application and should not undergo hard separations between its components, they will eventually have to depend on each other as you mentioned. Domains are perfect for that. Operations can use jobs from different domains in the case of needing cross-domain functionality, and to deal with data relationships we usually use Repository layer to manage that in
A new section in the docs for each of the Lucid units (feature, job and operation) will be dedicated for that in details 😉
Prefer Domains over Services, as explained above, imagine a service being a Laravel installation (separate project) within your project. While a domain is a box of functionalities that you can share anywhere in your application but is limited to the corresponding domain.
Perfectly true 👍 all of the above
Happy to hear that you've chosen Lucid. Ask away as much as you need! Happy to help 😄
Absolutely! That's what it did to us in the last 5 years and continues to do so until today.
Pleasure to help you in the right direction! Keep in mind that much will change as you; nothing is absolute, especially from the first iteration. I would love to hear your progress and what you're finding out, please keep us posted here! |
Beta Was this translation helpful? Give feedback.
-
Hello! Thanks for your attention! It was very enlightening. When I have news come here to share. |
Beta Was this translation helpful? Give feedback.
-
Hello guys!
Would like to take some questions about good practices with the use of Lucid architecture.
Sorry for so many questions! Thanks for listening
Beta Was this translation helpful? Give feedback.
All reactions