摘要:我们总会有这样一个经验:一个系统最不容易也最不应该变化的部分是领域逻辑,最容易变化也最应该变化的是数据的呈现方式。 在java的各种应用中可以说是到处可见mvc,j2ee贯穿mvc的概念,android的开发方式也是类mvc的,mvc结构对于做过java应用的人而言简直就是司空见惯。而在.net这边,由于之前微软为大家提供的各种winform、asp.net项目典范(比如那个petshop series)将“三层”概念很好的灌输到了.net程序员的大脑中,许多.net开发者凡是做个东西都要搬出自己最拿手的IModel、IDAL这样的神器。 其实mvc与所谓的“三层架构”是两个层次上... 阅读全文
一起谈.NET技术,Qt简介以及如何配置Qt使用VS2010进行开发
2011-09-02 00:19 by 狼人:-), 505 阅读, 0 推荐, 收藏,
摘要:Qt是神马东西? Qt – 一个跨平台应用程序和UI开发框架 它包括跨平台类库、集成开发工具和跨平台 IDE。使用 Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。 Qt 主要是由 诺基亚 开发和维护的。Qt通过开源授权(LGPL 和 GPL)以及商业授权的方式对 Qt 进行授权。在Linux下Qt可是大名鼎鼎,Linux的KDE图形界面就是基于Qt开发的。 Qt的最大好处是跨平台,可以看到上图,Qt可以支持windows,Mac os,linux,embedded linux, wince/mobile,symbi... 阅读全文
一起谈.NET技术,我眼中的Visual Studio 2010架构工具
2011-09-02 00:19 by 狼人:-), 238 阅读, 0 推荐, 收藏,
摘要:影响架构质量的是构建体系架构的思想、原则、实践与架构师的经验,绝不是工具。即使是最优秀的架构工具,也不可能像倚天宝剑一般——倚天一出,谁与争锋——似乎谁握住了这把利刃,就能够成为武林盟主。架构工具可以改善架构师的工作,却不能替换架构的过程。软件开发过程中,最重要的依旧是人。 我在尝鲜Visual Studio 2010架构工具[i]时,偶然看到一篇文章,用夸张的语言吹捧VS 2010架构工具,认为它是架构师最怕程序员知道的新工具。这让我有感而发,我想起数十年前甚嚣尘上的一个理论,那就是CASE工具在未来可以取代编码工作的论断。随着DSL的逐渐流行,这个论断似乎有了能够实现的希望。我们已... 阅读全文
一起谈.NET技术,今时不同往日:VS2010十大绝技让VS6叹服
2011-09-02 00:19 by 狼人:-), 394 阅读, 0 推荐, 收藏,
摘要:“从来只有新人笑,有谁听到旧人哭,程序员的心,好难懂~~” 自从微软最新的Visual Studio 2010发布之后,昔日备受程序员们追捧的开发工具Visual Studio 6最近却备受冷落,总是哼唱着这首歌来排解自己的郁闷。它总是抱怨说:“程序员们都是些喜新厌旧的家伙,一看到新的Visual Studio 2010发布了,就把我Visual Studio 6忘在了一旁,它Visual Studio 2010有什么好的?它VS2010能做的事情,我VS6照样都能做!” 在一旁的VS2010听不下去了,反击道: “不是那些程序员喜新厌旧,而是我VS2010确实比你VS6好... 阅读全文
一起谈.NET技术,将WPF UI单元复制到剪贴板
2011-09-02 00:19 by 狼人:-), 205 阅读, 0 推荐, 收藏,
摘要:大家在日常工作中应该遇到过这样的问题:需要对应用程序界面进行截屏操作,然后将截屏内容拷贝到其他文档中使用。通常情况下我们会使用一些截屏软件或者“Ctrl+PrtSc ”,本篇将介绍如何在WPF 程序中将UI 单元直接以图片形式复制到剪贴板,以达到为应用程序界面制作快照(Snapshot)的功能。 以我之前做过的一个“WPF 员工卡”的文章为例。首先,要为程序添加一个自定义命令(Command):CopyUI。该命令的快捷键方式为“Ctrl+U”,在命令中定义两种事件CanExecute、Executed。关于自定义命令可以参考这里。
<Window.Resources> <S 阅读全文
一起谈.NET技术,Silverlight开发廋身攻略(一)
2011-09-02 00:19 by 狼人:-), 158 阅读, 0 推荐, 收藏,
摘要:相信大家在用Silverlight做应用开发时,随着项目的进展系统功能越来越多,肯定为Xap包越来越大而烦恼,Xap包的大小直接影响应用程序的加载速度,给用户造成不良的用户体验。我也曾为这个问题头痛过,经过在网上查阅资料和项目实践发现可通过以下三种方式给Silverlight应用程廋身。 1、定期检查系统项目模块的引用集,移除多余的引用库 2、图片资源文件,如果不是必须放在资源中的,可以采用按需加载 3、将系统划分成多个Silverlight项目,然后根据需要进行Xap加载 下面我将结合实例来对三种方法进行说明: 一、定期检查,移除多余引用库 在我们实际项目开发中,... 阅读全文
一起谈.NET技术,Silverlight开发廋身攻略(二)
2011-09-02 00:19 by 狼人:-), 270 阅读, 0 推荐, 收藏,
摘要:继上一篇《Silverlight开发廋身攻略(一)》,在上一节中我主要介绍了在实际开发中怎么动态加载图片资源的方法,并附有实例。在这一节中主要给大家介绍MEF(Managed Extensibility Framework)的知识来实现Xap包的动态加载。 Managed Extensibility Framework(MEF)是.NET平台下的一个扩展性管理框架,它是一系列特性的集合,包括依赖注入(DI)以及Duck Typing等。MEF为开发人员提供了一个工具,让我们可以轻松的对应用程序进行扩展并且对已有的代码产生最小的影响,开发人员在开发过程中根据功能要求定义一些扩展点,之后扩... 阅读全文
一起谈.NET技术,Silverlight性能优化纪要
2011-09-02 00:19 by 狼人:-), 218 阅读, 0 推荐, 收藏,
摘要:Silverlight作为微软为富网络应用所做的一个全新的架构,其优秀的表现力让开发者和用户感受到了强烈的冲击,无数的开发者为其着迷,同时微软的广大设计者也在不断地为其完善和充实,同时Silverlight团队也积极的构建Silverlight 5,其初步的版本已在 http://channel9.msdn.com/Series/Silverlight-Firestarter做了演示,从中你可以感受到Silverlight未来之路。我在学习了里面的性能优化的Event后,对这部分的介绍做了一个摘要,希望给大家简单的了解。 性能优化是一个逐步迭代的过程,在此过程中你需要做到以下的工作:
... 阅读全文
一起谈.NET技术,使用编码招式(Coding Katas)、BDD和VS2010项目模板
2011-09-02 00:19 by 狼人:-), 356 阅读, 0 推荐, 收藏,
摘要:通过编码招式和行为驱动开发,我受到了一些启迪,感觉良好。然而,当我意识到如果以后我就用这种方式编写单元测试、进行开发工作,那会相当痛苦,因为每次都要引入Eric Lee的ContextSpecification。如果我可以简单地选定一个BDD的单元测试项目,然后项目创建后我就拥有了所有项目所需的文件,那就容易多了。稍作查询之后,我找到了一些项目模板导出向导(Project Template Export Wizard)的参考资料,似乎这就是最适合我的解决方案。 为了能试试这个例子,你要从Visual Studio Gallery上下载并安装Export Template Wizard(... 阅读全文
一起谈.NET技术,StreamInsight 浅入浅出(六)—— Debugger
2011-09-02 00:19 by 狼人:-), 253 阅读, 0 推荐, 收藏,
摘要:对于 StreamInsight 系统,由于对事件的处理查询都是异步进行的,输入输出很难进行时序上的对应监测,所以普通的基于代码的 Debug 和 Watch 显得不那么有意义。于是微软随 StreamInsight 系统提供了一个好用的图形化调试工具 StreamInsight Event Flow Debugger。 这一工具的主要特点在于: 图形化界面,足够直观。有点类似 SQL Server 的查询计划界面,将一个复杂的查询拆分成多个基本查询,并以列表形式展现每个查询中事件的状态与取值。 支持跟踪、回溯,可以查看一个事件的初始状态以及演变过程。 支持即时调试,也支持日志... 阅读全文
一起谈.NET技术,C#数据本地存储方案之SQLite
2011-09-02 00:19 by 狼人:-), 353 阅读, 0 推荐, 收藏,
摘要:即使是做网络应用,在断线情况下,也需要考虑数据的本地存储。在SQLite出现之前,数据量大的情况下,我们一直使用ACCESS,数据量小,则文件存储。ACCESS不支持事务原子性,在断电情况下(这种情况总是会发生)会导致数据很难恢复。 一:安装 SQLITE,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统。我直接使用的是http://sqlite.phxsoftware.com/(An open source ADO.NET provider for the SQLite database engine)。下载完毕是一个EXE,安装后根目录如下: Bin下有一... 阅读全文
一起谈.NET技术,VS2010 调试利器
2011-09-02 00:19 by 狼人:-), 278 阅读, 0 推荐, 收藏,
摘要:一、通过VS2010可以将断点保存成本地文件(xml格式) 假设当代码中有CRUD(增、删、改、查)功能时,我们debug增加功能时在代码内设置了一个断点进行查错。再检查删除时又要为删除代码设置一个断点并且要清除上一个为debug增加功能时设置的断点。在VS2010之前我们似乎常常这样做,但现在通过VS2010我们可以将断点保存起来!其实也就是可以为所有断点设置一个解决方案。下次需要debug的时候直接导入先前导出的断点解决方案(xmL文件)。具体请参看下图: 鼠标停留的按钮就是导出功能键(VS2010->Debug->Windows->Breakpoints)右边就是导入断 阅读全文
一起谈.NET技术,走向ASP.NET架构设计——第六章:服务层设计(前篇)
2011-09-02 00:19 by 狼人:-), 259 阅读, 0 推荐, 收藏,
摘要:本篇主要是为后文做铺垫,所以理论的东西相对而言比较的多一点! 服务层的概述 首先解释一下什么是”服务Service”,从广义来讲:只要是你使用了别人的东西,那么你就在使用别人提供的服务。在这里,服务就是指可能被一个或者多个系统使用的核心的业务逻辑,我们可以把服务简单的想象成为一些可供调用的API。 在之前的第四章中,我们讲述了如何组织业务逻辑,第五章讲述了在业务层的设计中可以采用的一些模式。但是还有一个问题需要大家考虑的是:如何把业务层提供给其他的层来调用? 可能认为这个问题有莫名奇妙—不是只要引用业务层的组件就行了吗。但是仔细想想,却不尽然:因为在很多系统中,我们不是直接... 阅读全文
一起谈.NET技术,提高效率 用好Visual Studio 2010自定义代码段
2011-09-02 00:19 by 狼人:-), 203 阅读, 0 推荐, 收藏,
摘要:我在演讲时发现这个功能也相当有用,不用现场敲代码,直接调出非常方便。Visual Studio 2010增强了自定义代码段功能,使创建自定义代码段的操作更加简单了。 有两种类型的代码段: ◆在游标中插入的Expansion自定义代码段 ◆围绕选定代码的SurroundsWith自定义代码段 创建自定义代码段 首先在项目中插入一个新的XML文件,取名为TryCatchFinally.snippet,注意文件名的后缀是.snippet,然后在编辑器窗口点击右键,选择“插入代码段”*“代码段”,创建一个基本的XML代码段模板,代码如下: Code highlighting... 阅读全文
一起谈.NET技术,VS2010实践RUP4+1架构模型
2011-09-02 00:19 by 狼人:-), 352 阅读, 0 推荐, 收藏,
摘要:RUP4+1架构方法 RUP4+1架构方法采用用例驱动,在软件生命周期的各个阶段对软件进行建模,从不同视角对系统进行解读,从而形成统一软件过程架构描述. 图 1. RUP4+1架构图 用例视图(Use Cases View),最初称为场景视图,关注最终用户需求,为整个技术架构的上线文环境.通常用UML用例图和活动图描述。 逻辑视图(Logical view),主要整个系统的抽象结构表述主要关注系统提供最终用户的功能,不涉及具体的编译即输出和部署,通常在UML中用类图,交互图,时序图来表述,类似与我们采用OOA的对象模型。 开发视图(Development View), 描... 阅读全文
浙公网安备 33010602011771号