|
Broadly sensible article but doesn't address the problem that can arise if your database has any logic in it at all (even constraints but certainly views or sprocs) in that you then have two architectures sharing the responsibility for business functionality.
|
|
|
|
|
Personally, this doesn't go far enough by a long shot. Unless I missed something, there's no guidance on how to avoid entanglement within each layer, and there's no guidance on how to move data between layers (more entanglement.) The IRequest and IRequestHandler seem to be moving in the right directly, but I would not have hidden that so well -- it took me a couple scans to even see that.
One key aspect of the request/response messages that flow in and out of use case interactors and across boundaries is that they are simple data structures meaning they contain no special types: ie. entities, or types provided by 3rd party libs etc. - they are pure C# objects.
That's such a bizarre statement. Even types provided by 3rd party libs are probably pure C# objects. What's the guidance here? How does this messaging system work? If you're doing direct calls between layers through those two interfaces, you're still entangling code, even if it looks prettier because you're using an interface.
Looking at the original documentation regarding crossing boundaries:
The important thing is that isolated, simple, data structures are passed across the boundaries. We don’t want to cheat and pass Entities or Database rows.
OK, sure, database rows, yeah, I get that. But entities? Why the hell not? Should I create completely separate "non-entity" classes and the serialization/deserialization simply to publish them on an outer layer? That seems silly.
And it makes no sense, given:
So when we pass data across a boundary, it is always in the form that is most convenient for the inner circle.
But I would argue that putting the DB in the outer layer is an arbitrary choice. In fact, putting entities in the inner layer is an arbitrary and not always correct choice.
As I concluded a long time ago, a bullseye circle layer for representing an architecture is actually the totally wrong approach. But that's me, and I'm probably missing something.
Marc
Latest Article - Create a Dockerized Python Fiddle Web App
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
Whereupon an argument commences on what precisely goes in which layer.
The article is more than a bit like saying the key to designing a house is deciding how many floors it has and what general rooms are on each floor. Everything else is just a walk in the part.
|
|
|
|
|
My architecture is as simple as can be: it is all just '1's and '0's.
It Is The Absolute Verifiable Truth & Proven Fact
That Your Belly-Button Signature Ties
To Viviparous Mama.
|
|
|
|
|
Beginning in the Windows 10 Fall Creators Update, we intend to disable VBScript execution in IE 11 for websites in the Internet Zone and the Restricted Sites Zone by default, to provide a more secure experience. set expression = createobject("sad.face")
... said no one.
|
|
|
|
|
Hit the road Jack and don't you come back no more, no more, no more, no more.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Webmasters can use so-called ZIP bombs to crash a hacker's vulnerability and port scanner and prevent him from gaining access to their website. It couldn't happen to nicer people
Oh wait. They're not real bombs?
|
|
|
|
|
While there are overall benefits for your brain’s health, on a daily basis your IT job gives it a serious beatdown. "It will have to come out."
|
|
|
|
|
Of course... there is a direct relationship between moron-chiefs and high blood pressure.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
The tech giants join Spotify, Reddit, Amazon, and the porn industry in next week's protest. Just in case you're wondering why the Internet is a little janky this week
You know it's important when the porn industry *and* Amazon get involved.
|
|
|
|
|
Hard to save something that never was.
And do these idiots even know what they're demanding?
|
|
|
|
|
Something starting with "Hey, hey, ho, ho"?
I didn't get the bit that rhymed though.
TTFN - Kent
|
|
|
|
|
Encrypted Media Extensions (EME) is one step closer to becoming a fully ratified World Wide Web Consortium (W3C) recommendation. Insert coins to continue
|
|
|
|
|
Coding in Java? Codota makes it even easier with an AI pair programmer designed to help you write code without having to check other references online. "I don't think there is any question about it. It can only be attributable to human error."
|
|
|
|
|
The new 3D architecture is based on novel devices including 2 million carbon nanotube transistors and over 1 million resistive RAM cells, all built on top of a layer of silicon using existing fabrication methods and connected by densely packed metal wiring between the layers. I'm pretty sure you can't play Doom on it
|
|
|
|
|
Kent Sharkey wrote: I'm pretty sure you can't play Doom on it
... yet.
It Is The Absolute Verifiable Truth & Proven Fact
That Your Belly-Button Signature Ties
To Viviparous Mama.
|
|
|
|
|
I have always enjoyed reading the The CodeProject Insider Daily Developer News newsletter but for some reason I am not receiving them for the last 3 days. A friend of mine has not received his either. Has this newsletter been discontinued? If not how do I tell your site to send me the last 3 days of newsletters? Thanks... John
P.S. I am sorry if this is not the right forum but I could not see a better place to post the question.
|
|
|
|
|
|
You can thank the Canadian government[^].
All Canadian subscribers who have not explicitly opted in for newsletters are no longer able to get newsletters anymore. By explicitly the government means "The recipient gave a positive or explicit indication of consent to receive commercial electronic messages". In particular companies based in Canada that send out emails cannot pre-check[^] a "sure, send me your newsletters" checkbox. ie standard practice everywhere on the web except Canada.
It's also retroactive, meaning that those that signed up pre 1 July, 2014 can no longer be considered to have provided consent.
Over the weekend I'm going to add a button with an unchecked checkbox for our Canadian readers to check in order to explicitly say "sure, send me the newsletters". Until then you should be able to go to your profile, uncheck a newsletter, hit save, then recheck it and save and you've provided "explicit consent" and we can send emails again.
The purpose of all of this? To make a point that the government of Canada is cracking down hard on spammers. Except it hasn't actually made a dent in the amount of spam we get in Canada. It's our version of the "this site uses cookies" warning silliness.
(sorry if I seem jaded and exhausted by all of this but it's been a bit of a busy week trying to deal with the Canadian government)
cheers
Chris Maunder
|
|
|
|
|
With that, and several other recent news stories from there, I say Canada is going due South at around the speed of sound.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
Having lived here for over 15 years now I have my own comments on the state of Canada, but I'm curious as to which bits you feel are a bit of a worry.
cheers
Chris Maunder
|
|
|
|
|
I still say we should get North Dakota to invade and liberate Canada!
Get me coffee and no one gets hurt!
|
|
|
|
|
Yep. About half of the Souix should be more than enough...
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
Hi Chris,
I don't recall getting any warning from CodeProject about a need to resubscribe. Also how do I get those Daily (not Weekly) articles that I missed?
I sympathize with the mess this has created for yourself and others at CodeProject.
Thanks,
John
|
|
|
|
|
Chris Maunder wrote: ... for our Canadian readers ...
I'm guessing it was easier to make everyone tick the box?
If not, there's something wrong with your "Canadian reader" detection script.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|