The E Language Human Drama
Feb 04

The Layering Challenge

Tech Add comments

Can you divide your logical layers into separate deployable units without changing a single line of code? You should be able to!

This is the challenge from Kirk Knoernschild.

Everyone says that they want a layered architecture but how many do you see in the wild?

One nice way in which we often try to enforce architecture decisions is via an AOP policy to capture it. You have a nice set of pointcuts which play the cop, making sure that Mr. Layer A didn’t make a call to Mrs. C directly.

With this in place, you don’t find yourself saying “ah screw it….”

4 Responses to “The Layering Challenge”

  1. Howard M. Lewis Ship Says:

    I’ll be responding to Kirk’s article shortly. My basic answer to this is HiveMind … it is an essential part of HiveMind that you can define your services at one layer, and provide the implementations at another. It is very reasonable to divide into layers and let HiveMind to the late binding to connect your choice of backend to your choice of presentation … it just involves adding another layer of lasagne, I mean architecture, to abstract the relationship between the other layers.

  2. Howard M. Lewis Ship Says:

    I’ll be responding to Kirk’s article shortly. My basic answer to this is HiveMind … it is an essential part of HiveMind that you can define your services at one layer, and provide the implementations at another. It is very reasonable to divide into layers and let HiveMind to the late binding to connect your choice of backend to your choice of presentation … it just involves adding another layer of lasagne, I mean architecture, to abstract the relationship between the other layers.

  3. Kirk Says:

    I find that physical seperation (not having things avaliable to you) in the pysical layout of the code base helps to promote logical seperation (at the layer and component level). As much as it has gotten better, the Eclipse workspace doesn’t support this type of thinking all that well.

    Bit off topic but the Eclipse workspace is a holdover from Smalltalk, one of the few concepts that should have not been transfered into the Java space ;)

  4. Kirk Says:

    I find that physical seperation (not having things avaliable to you) in the pysical layout of the code base helps to promote logical seperation (at the layer and component level). As much as it has gotten better, the Eclipse workspace doesn’t support this type of thinking all that well.

    Bit off topic but the Eclipse workspace is a holdover from Smalltalk, one of the few concepts that should have not been transfered into the Java space ;)

Leave a Reply

Spam is a pain, I am sorry to have to do this to you, but can you answer the question below?

Q: Type in the word 'ajax'

Loading...