摘要: 依赖注入DI很大程度的帮助解耦层与层之间的依赖关系,使得测试单元化。当我们的注意力转移到业务域时,情景有了悄悄的改变。业务域中,类与类之间有更多更复杂的依赖关系。相比之下,三层之间反而简单。 本文一步一步介绍,对于业务域的单元测试,如何从传统nUnit测试走到最高境界。 阅读全文
posted @ 2012-05-09 11:19 予沁安 阅读(3049) 评论(7) 推荐(7) 编辑
摘要: 业务域,是软件的核心价值所在。敌人还是朋友:项目经理和架构师 从Repository到Domain 从MVC到测试 从自动化测试到Domain 代码工厂=CRUD? 敌人还是朋友:项目经理和架构师 无论是买成型的软件产品,还是出资开发项目,客户投资的是软件的业务价值。项目经理直接为这个目标负责,尽量少的成本,尽量短的时间,生产出高业务价值的软件产品。架构师则是跨越单个项目,长期为这个目标负责。 项目经理与架构师是天生的敌人,短期看这是对的,长期来看,他们是真正的朋友,是战略朋友。没有项目经理项目会死得很快;然而没有架构师,公司会死得很惨。 项目经理的角色和作为,我仍比较容易理解... 阅读全文
posted @ 2012-05-05 12:22 予沁安 阅读(3195) 评论(14) 推荐(9) 编辑
摘要: 相对于目前日新月异的新概念,新名词,三层架构已经算得上元老了。虽仍有争议,但业界更多的是共识。 业务域驱动开发(DDD) 近年也是风生水起,红红火火,但它是什么,是怎么回事,似乎就不如三层架构那么妇孺皆知了。 以业务域为系统的核心,所有其它与业务无关的内容对这个核心来谈,都是外部服务/功能。这里,出于本文说明的需要,独立出了两个较为特别的外部功能,持久层和用户接口。 阅读全文
posted @ 2012-04-16 06:40 予沁安 阅读(12272) 评论(26) 推荐(13) 编辑
摘要: 工欲善其事,必先利其器。 N多年前微软官网曾发了.Net下必备的十种工具,N多年过去了,世异时移,很多东西都已经变化了,那个列表也似乎陈旧了。而且,该文也只是对十种工具独立的介绍,显得有些罗列的感觉,是不是每个工具都是同等重要,工具与工具之间是否有联系?等等,阐述得并不明确。 这里,我想从另一个角崖,重新归纳一个更新的更实际的武器库。更新,是因为有很多最近几年才出来的工具/框架库,更实... 阅读全文
posted @ 2012-04-04 12:51 予沁安 阅读(16814) 评论(93) 推荐(55) 编辑
摘要: 反观如今的博客也好,技术文章也好,多是某一方面的技术细节,我个人不太喜欢这个方向,觉得意义不大。这些确实都是知识,我也十分尊重和感谢这些作者的贡献,因为我碰到问题也经常搜索这样的技术文章而得到了帮助。可是,这与软件公司的实际工作总有个巨大的鸿沟,经常也看到很多人也类似的困惑,看了众多技术文章后,依然... 阅读全文
posted @ 2012-03-25 11:46 予沁安 阅读(2799) 评论(10) 推荐(4) 编辑
摘要: 更多背景参看 前传:Razor视图引擎浅析 后续: 自己动手做框架—MVC+Front Controller 为什么要这么做? 1. Asp.Net MVC 其实也不是太好 2. 我有自己的敏捷Web框架, 仍然想用Razor引擎 3. 动态编译很有意思,这也是将来的一个趋势,如果有人有兴趣,我倒是很想写写这方面的内容. ... 阅读全文
posted @ 2012-03-12 07:08 予沁安 阅读(7517) 评论(14) 推荐(8) 编辑
摘要: 解决方䅁就是,统一语境,至少大量减少切换频。Asp,Net Web Form就是一个不错的尝试,HTML标记对象化,把不变内容HTML标记,统一到后台语境。一个个HTML标记都成为后台对象,变量填充自然在后台,以对象赋值的方式,统一的实施,跨越了语境的切换。这也是Web Form命名的含义,让网页像桌面一样一致编程。应该,说微软的这个技术方向还是比较成功的。至少,我就是在这个环境下,得进入Web行业,反过来,从后台的模型学习HTML前台DOM。然而,Web Form的败笔却在架构方面,对象化HTML后,后台的处理反过来,全都以页面为中心概念,妄图忽略前端与后端的时间差(服务端控件?),真的把互 阅读全文
posted @ 2012-02-29 11:23 予沁安 阅读(2261) 评论(4) 推荐(2) 编辑
摘要: 所 幸,业界一直致力变革。先期CSS1,2,3,Javascript特别是JQuery,分别贡献于样式和行为的分离,这些都是碎片组成部分。因 而,HTML可以只关注于内容及其结构,纯粹化的很重要一部分。这里不作详敘,因为网络上有太多的文章和论敘,尽管很多的网站建设,连这些技术都没 应用好。这里,我只想讲讲后CSS,jQuery时代的故事。那怕只作内容的呈现,仍有很多的机会产生碎片。不变的内容和变化或说动态内 容交替出现,前者直接用HTMLTML代码,后者常常需要后台代码,变量的支持。两者是完全不同的领域范围,整合在一起,自然造成了不可理解的碎片拼盘。 就如同进程一样,切换进程是成本最高的开销, 阅读全文
posted @ 2012-02-29 10:57 予沁安 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.skight.com/技术博客/html从魔鬼拼图到行云流水之一虽然Html不是和互联网同时诞生,但如今它们的紧密关系,让人几乎一忽略了这段历史。Html有如此强的生命力力,应用如此之广,自从W3C宣布H已死之后,却又在别处开了花,Html5的发展却又反过来,逼得W3C接受又继续发展。然 后,自Html设计之出,就主要针对静态内容的表现,这也注定其天生缺陷。互联网已从起初的内容表现,发展到应用的平台,在应用程度领域上已经足以与桌面 程序抗衡一一你还在用Foxmail收邮件吗?甚至原本的內容发布应用本身,也趋于釆取动态生成的方式来实现,看看有多少CMS系统就清楚了。然 阅读全文
posted @ 2012-02-27 04:27 予沁安 阅读(690) 评论(0) 推荐(1) 编辑
摘要: 原文:http://www.skight.com/技术博客/视图引擎浅析之二 模板是其最主要的功能,但是另一个次功能也不可忽视,内嵌帮助方法及其智能代码完成功能。这个附助功能,大大提高效能。现在,我们面临的问题是,当脱离ASP。Net MVC的框架以后,如何保持这个特性。幸运的是,微软提供了扩展的接口或者说方法。在阐述解决方案之前,还是再回顾一下视图引擎的原理。从Web Form到Razor,即有继承也有扬弃。模板文件(cshtml vbhtml),仍然是当作一个类来处理,这与原来的机制是一致,不同的是不再是静态类,以前文件名就是页面类名,并且还可以有一个真正的类文件直接使用(code beh 阅读全文
posted @ 2012-02-05 07:12 予沁安 阅读(1114) 评论(0) 推荐(1) 编辑