orm – Clean architecture and entity framework

I faced some problems when generating a database schema from commercial objects with EF Core:

  • There is no support for structure properties
  • There is no support for the properties of the interface
  • I need additional columns that should belong only to the data layer.

I do not want to change my business layer (structures / interfaces to classes) only by EF, since this goes against the principles of clean architecture (the framework should serve its application, not the other way around). In addition, adding persistence-specific columns to the business layer is out of the question.

I guess the right thing to do is add persistence objects to the persistence layer that would represent entities in the business layer.
In addition to that, some mappers would have to be used by the business layer to abstract the persistence objects that assign them to commercial entities.

Few questions about this approach:

  • Is this right to do? Is there an alternative? For example: The EF configuration capabilities that would help me solve the problems listed above without replicating entities in the persistence layer?
  • This feels like a lot of repetitive code and the replication of the same properties. It seems that this code could be generated automatically by some tool, is there something like this?
  • Is there a good example of how such an approach should look?

Design – email notification architecture – avoid duplicate emails

We are looking to develop an email notification system where emails can be scheduled daily and by the hour or can be sent in real time.

So there will be 2 apis mails:

– Real-time mail API: inserts requests directly in the queue.
– Massive mail API: saves the requests in the database so that they are sent later (since they are scheduled to be sent later). Then, the workers send this data from the database to the queue.

With the scenarios of sending emails through both APIs, we need a way to make sure that duplicate emails are not sent. What is the best way to make sure that duplicate emails are not sent?

I think that maybe we register all the requests asynchronously in a table in the database when calling both APIs (before sending the requests and before storing them in the database), at the beginning we validate whether the requests to send Emails are duplicates. Will it cause a performance problem? Do you recommend evaluating them before consuming them and generating metadata before sending them to the mail server?

architecture – What design patterns are used to design software that can be updated, can be added, such as Adobe Illustrator?

I want to know how to design software that has modules that can be enabled or disabled. I have been developing software such as HRMS, etc., but my approach is mainly structural and only blocks of code driven by events.
I want to learn to write easily editable modular code. I have read the design pattern book, but I am confused as to which pattern should be used in what situation.
Now I understand that Illustrator is very complex, but my question is about the modular design of the software, not the specialized application of Illustrator.
You can replace the illustrator with corel, etc., but they all have a contextual modular design.
How do I start writing some software like that?

Information architecture – repository of content system patterns

Is there a pattern library for content systems?

I think that content systems for group interaction like wikis, forums (Reddit or traditional style), information messages, chats (Slack), blogs, link directories (Yahoo / DMOZ) and questions and answers (like StackExchange) are not fundamentally different from each other. other.

They can be modeled as composed of shared "classes" of objects (publications, comments, likes, etc.) with various relationships that connect them.

Information architecture: What are the good ways to present a table of information that has information that encompasses 2 adjacent cells vertically in a central column, and that has no other cells combined?

Explanation of the question

The following table illustrates the problem:

HTML table that does not present sufficiently clear information

HTML source for table:

Column 1Column 1Column 3
Type 1Common informationInfo 1
Type 2Info 2

You will notice that it is not clear that the cells that do not belong to the header in the first column are assigned to their corresponding cells in the third column, due to the combination of cells. How can such correspondence be clarified?

Does anyone have any advice about this situation?


Possible solution

If I could mark the following table layout with HTML, so that the entries in the cell were not images, then I think that such a presentation would be acceptable:

Table design to clearly present unusual information.

Unfortunately, I did not use HTML to create the previous design, I just used a simple raster graphics editor (Windows Paint) to create it.


Background

While all compatible answers to this question are welcome, for me, really, I want to know how to mark that information with GitHub Flavored MarkDown. Check here for more information about the specific situation that I am trying to deal with, which generated this StackExchange question.

Service-Oriented Architecture Programming Model

Can anyone tell me about the SOA programming models on the server side? I searched a lot but could not find any useful answer. Thanks in advance

soa – Architecture focused on data vs. Service oriented

I read from multiple sources the definitions and explanations of a data-centric architecture and a service-oriented architecture (SOA). However, none of them spoke of a convergence of both. I have a confusion of whether these two are completely disjoint concepts or, in some cases, can overlap each other. Is it necessary for the independent services in an SOA to communicate with each other directly or can they exchange data with a database at the center of everything? If the latter is the case, is it better to call it an SOA centered on the data?

Zen 2 architecture information released

Zen 2 is about to be launched this July with several architectural improvements. It will offer PCIe v4.0 support among other improvements.

https://hothardware.com/reviews/amd-…ture-explained

It is expected that a new CPU line of the Epyc server based on the Zen 2 will be released at a certain time after July. An exact release date has not yet been confirmed, in my opinion.

design – Service-oriented architecture (SOA): A server instance or multiple servers / instance?

In the service-oriented architecture (SOA), should there be a single server instance "with the philosophy of sharing as much as possible" or several databases on multiple servers / instances?

I know that in Microservices, the difficult rule is to apply a database by area.

Just out of curiosity if the hard rule applies to SOA?

This is not based on opinions: it is only curious if there is a strict rule for SOA Architecture principles, if multiple server instances are allowed or not. Similar to solid principles.

Reference question:
Service-oriented architecture (SOA): a database or multiple databases?

design – Service-oriented architecture (SOA): a database or multiple databases?

Although SOA does not have a unanimously accepted definition, I would like to quote Udi Dahan here, see the original article. Mr. Dahan also has a great definition for a service:

A service is the technical authority of a business capacity.

In developing that definition, since a service must be the authority of a commercial capacity, it must have its data, that is, have its own database. This does not always mean a separate physical instance, so a logical separation is also sufficient, as a different scheme that is only accessible to the service in question.

I like to think about this in terms of maintaining well-defined limits for a service. Sharing data is similar to unclear limits and, therefore, a close coupling with another service. The logical separation of the data warehouse is the pragmatic approach to ensure that your system as a whole can follow an evolutionary architecture.