Click here to Skip to main content
15,898,792 members

The Insider News

   

The Insider News is for breaking IT and Software development news. Post your news, your alerts and your inside scoops. This is an IT news-only forum - all off-topic, non-news posts will be removed. If you wish to ask a programming question please post it here.

Get The Daily Insider direct to your mailbox every day. Subscribe now!

 
GeneralRe: The coming battle over 'net neutrality' Pin
Joe Woodbury10-Jul-17 8:48
professionalJoe Woodbury10-Jul-17 8:48 
GeneralRe: The coming battle over 'net neutrality' Pin
H.Brydon17-Jul-17 17:18
professionalH.Brydon17-Jul-17 17:18 
GeneralRe: The coming battle over 'net neutrality' Pin
User 842010-Jul-17 9:57
User 842010-Jul-17 9:57 
NewsMicrosoft’s Azure Stack private cloud platform is ready for its first customers Pin
Kent Sharkey10-Jul-17 8:24
staffKent Sharkey10-Jul-17 8:24 
NewsNASA’s Juno spacecraft will peer into Jupiter’s planet-sized storm tonight Pin
Kent Sharkey10-Jul-17 8:23
staffKent Sharkey10-Jul-17 8:23 
NewsBetter software design with Clean Architecture Pin
Kent Sharkey9-Jul-17 18:00
staffKent Sharkey9-Jul-17 18:00 
GeneralRe: Better software design with Clean Architecture Pin
Duncan Edwards Jones9-Jul-17 20:43
professionalDuncan Edwards Jones9-Jul-17 20:43 
GeneralRe: Better software design with Clean Architecture PinPopular
Marc Clifton10-Jul-17 2:00
mvaMarc Clifton10-Jul-17 2:00 
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

GeneralRe: Better software design with Clean Architecture Pin
Joe Woodbury10-Jul-17 9:01
professionalJoe Woodbury10-Jul-17 9:01 
GeneralRe: Better software design with Clean Architecture Pin
David O'Neil10-Jul-17 9:59
professionalDavid O'Neil10-Jul-17 9:59 
NewsAn update on disabling VBScript in Internet Explorer 11 Pin
Kent Sharkey9-Jul-17 18:00
staffKent Sharkey9-Jul-17 18:00 
GeneralRe: An update on disabling VBScript in Internet Explorer 11 Pin
Dan Neely10-Jul-17 3:19
Dan Neely10-Jul-17 3:19 
NewsZIP Bombs can protect websites from getting hacked Pin
Kent Sharkey9-Jul-17 18:00
staffKent Sharkey9-Jul-17 18:00 
NewsIs your IT job messing with your brain? Pin
Kent Sharkey9-Jul-17 18:00
staffKent Sharkey9-Jul-17 18:00 
GeneralRe: Is your IT job messing with your brain? Pin
Nelek9-Jul-17 19:33
protectorNelek9-Jul-17 19:33 
NewsSpotify, Google, tons of other companies will protest to save net neutrality Pin
Kent Sharkey9-Jul-17 18:00
staffKent Sharkey9-Jul-17 18:00 
GeneralRe: Spotify, Google, tons of other companies will protest to save net neutrality Pin
Joe Woodbury10-Jul-17 8:56
professionalJoe Woodbury10-Jul-17 8:56 
GeneralRe: Spotify, Google, tons of other companies will protest to save net neutrality Pin
Kent Sharkey10-Jul-17 9:21
staffKent Sharkey10-Jul-17 9:21 
NewsDRM concerns arise as W3C’s Tim Berners-Lee approves the EME specification Pin
Kent Sharkey9-Jul-17 18:00
staffKent Sharkey9-Jul-17 18:00 
NewsCodota: Using AI to make our code better Pin
Kent Sharkey9-Jul-17 18:00
staffKent Sharkey9-Jul-17 18:00 
News3D electronic nose demostrates advantages of carbon nanotubes Pin
Kent Sharkey9-Jul-17 18:00
staffKent Sharkey9-Jul-17 18:00 
GeneralRe: 3D electronic nose demostrates advantages of carbon nanotubes Pin
David O'Neil10-Jul-17 10:06
professionalDavid O'Neil10-Jul-17 10:06 
NewsThe CodeProject Insider Daily Developer News Newsletter - Missing Last 3 Days Pin
Member 102310997-Jul-17 7:32
professionalMember 102310997-Jul-17 7:32 
GeneralRe: The CodeProject Insider Daily Developer News Newsletter - Missing Last 3 Days Pin
Wonde Tadesse7-Jul-17 7:40
professionalWonde Tadesse7-Jul-17 7:40 
AdminRe: The CodeProject Insider Daily Developer News Newsletter - Missing Last 3 Days PinPopular
Chris Maunder7-Jul-17 10:10
cofounderChris Maunder7-Jul-17 10:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.