R
R
raiboon2021-07-30 15:20:54
Software design
raiboon, 2021-07-30 15:20:54

How to learn to develop application architecture in the field of business logic?

Sometimes there are projects where the brain literally explodes from the amount of business logic, and the possible number of options for splitting business logic into objects and their nesting explodes with factorial complexity.
What to do in order to somehow better learn how to design how business entities will form the base / code? How to find best-practises in order to be more or less sure that it will be better this way?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
D
dmitriy, 2021-07-30
@dmitriylanets

1. Event Storming + miro helps to design well and keep the system in sight
2. At the output we have commands, events, entities (aggregates), information, context
3. Depending on the application, elements from step 2 are converted into code

I
Ilya, 2021-07-30
@sarapinit

Read GoF
Read Evans
Read Fowler
Read many articles on the topic with conflicting opinions.
Try not only OOP, but also FP
Try many times. Thinking a lot.

M
Maxim Fedorov, 2021-07-30
@Maksclub

When there is a lot of logic and its variants, then different DSLs appear, which themselves assemble this logic inside ...
When designing a DSL, it is simply possible to design how to do what.
For example, a database: there is a lot of data and a huge number of how to select this data and selection rules ... You can code anyone for different occasions, or you can come up with syntax constructions with the help of which this logic will be executed under the hood... this is how the SQL language appeared.
For example, there are some rules for building shares:

  • If there is one product of such and such a criterion
  • If all goods of such and such a criterion
  • If at least one product of such and such a criterion
  • If no product of this criterion
  • ...

You can program for each case, especially the criteria are different
And you can come up with some functionality that would accept some rules for different companies that would be configured by the config, and the criterion would be described by another rpavil, and then any marketer could collect different promotions

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question