博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Application review: Northwind Starter Kit
阅读量:7167 次
发布时间:2019-06-29

本文共 1867 字,大约阅读时间需要 6 分钟。

I continue to try to find a sample application for Northwind to use as my contrasting example for an article that I am writing, and I found the project. Even the project summary page gave me a few twitches, here is a small piece with the twitch inducing stuff bolded:

The application has been designed using common patterns, such as the ones defined within the "classic" "Designs Patterns" by Erich Gamma et al. and "Pattern of Enterprise Application Architecture", by Martin Fowler; though not required, these lectures are strongly recommended.

Guys! This is Northwind, the likelihood that you’ll need design patterns to build this application is nil to none! That just screens complexity overload.

Domain logic is implemented by means of a Domain Model, onto a layer of services adds application logic. The model is persisted by a DAL designed around the principles of the "Repository" patterns, which has been implemented in a LINQ-friendly way.

Northwind is a CRUD app, at its core, all of those things are adding complexity, and they aren’t really adding much at all. In fact, they are going to create just noise, and make working with things that much harder.

And then I opened the project, and I got this:

I mean, really? Seriously?!  22(!) projects to do a sample application using Northwind?

This is the point where I gave up on this as something that could be useful, but here are a few other gems as well:

I really like how the Update method does what it is meant to do, right?

Note that in either implementation, we are looking at totally and drastically different behavior.

Let us look at the interface, too:

The design is straight out of Patterns of Enterprise Application Architecture, and it is totally the wrong design to be using if you are using a modern OR/M.

Seriously, this is Northwind we are talking about, why make things so freaking complex?!

转载地址:http://qwtwm.baihongyu.com/

你可能感兴趣的文章
linux 音频编程
查看>>
EBS Technology Codelevel Checker (ETCC)
查看>>
[转]Asp.NET MVC Widget开发 - ViewEngine
查看>>
数据结构与算法JavaScript (一) 栈
查看>>
教你实现图片的惰性加载
查看>>
android 模拟器报 no CPU/ABI system image for target
查看>>
两个div在同一行,两个div不换行
查看>>
ARM-Linux配置DHCP自动获取IP地址
查看>>
文本框改变事件(不用失去焦点)
查看>>
【求助】怎样实如今并肩看中增加代码啊
查看>>
mysql 性能优化方案
查看>>
Java并发编程:volatile关键字解析
查看>>
Oracle Alert - APP-ALR-04108: SQL error ORA-01455
查看>>
【转】在linux内核中读写文件 -- 不错
查看>>
http put post请求区别
查看>>
android EventBus的简单使用
查看>>
在.net中使用GAC
查看>>
EasyExcel导入工具(SpringMVC下使用)
查看>>
【转载】查找怪数据数组的内存分布和地址(天龙八部)
查看>>
敏捷生活练习第14次活动:学会感恩
查看>>