diff --git a/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/Frontend_Backend-versus-Client_Server-Side.md b/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/Frontend_Backend-versus-Client_Server-Side.md index 66545c1..32e48a7 100644 --- a/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/Frontend_Backend-versus-Client_Server-Side.md +++ b/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/Frontend_Backend-versus-Client_Server-Side.md @@ -5,34 +5,36 @@ It is not. It is perfectly acceptable to have Front-End logic happen on the Server: - - System Boundry - : - | - V - +-------------------------+ +--------------+ - | Front End | --> | Back End | - +-------------------------+ +--------------+ - - +----+ +--------------+ +--------------+ - | UI | +-> | Logic | --> | Application | - +----+ +--------------+ +--------------+ - - +--------------+ +-------------------------+ - | Browser | --> | Server | - +--------------+ +-------------------------+ - - ^ - | - : - Server Boundry + +------------------+ +--------------+ + |Delivery Mechanism| |System Boundry| + +-----------------=+ +-------------=+ + : : + *--------------------------------:-:-------------------* + : : + : : + +-----------------------------+ : : +--------------+ + | Front End | ----> | Back End | + +-----------------------------+ : : +--------------+ + : : : : + : : : : + +----+ +----+-+---------+ : : +--------------+ + | UI | ----> | Logic | ----> | Application | + +----+ +----+-+---------+ : : +--------------+ + : : : : + +--------------+ : : +-----------------------------+ + | Browser | ----> | Server | + +--------------+ : : +-----------------------------+ + : : + : : + *-----------------:-:----------------------------------* + : : + +--------------+ +------+-------+ + |Browser Boundy| |Server Boundry| + +-------------=+ +-------------=+ The main reason why I have a gripe with this is that the front-end is just a delivery mechanism (excellently explained by Robert Martin at Ruby Midwest 2011 http://www.youtube.com/watch?v=WpkDN78P884) - + If this delivery mechanism is incorporated in the application and I want to use another means of connecting to the user (like the command line) this means I now have to _first_ separate the original code before implementing another connector. - - -- EOF -- - - + -- EOF -- diff --git a/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/diagram.png b/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/diagram.png index ddea1a6..0356f3a 100644 Binary files a/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/diagram.png and b/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/diagram.png differ diff --git a/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/diagram.puml b/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/diagram.puml new file mode 100644 index 0000000..8004051 --- /dev/null +++ b/the-difference-between-the-front-and-back-e_148973b40d9e76b5e2ba/diagram.puml @@ -0,0 +1,33 @@ +@startditaa() + + The difference between the Front and Back end and + the Client and Server side of an application. + + +------------------+ +--------------+ + |Delivery Mechanism| |System Boundry| + +-----------------=+ +-------------=+ + : : +*--------------------------------:-:-------------------* + : : + : : ++-----------------------------+ : : +--------------+ +| Front End | ----> | Back End | ++-----------------------------+ : : +--------------+ + : : : : + : : : : ++----+ +----+-+---------+ : : +--------------+ +| UI | ----> | Logic | ----> | Application | ++----+ +----+-+---------+ : : +--------------+ + : : : : ++--------------+ : : +-----------------------------+ +| Browser | ----> | Server | ++--------------+ : : +-----------------------------+ + : : + : : +*-----------------:-:----------------------------------* + : : + +--------------+ +------+-------+ + |Browser Boundy| |Server Boundry| + +-------------=+ +-------------=+ + +@endditaa