02 2009 档案

摘要:前段时间在网上看到了一款在WLW中插入语法高亮代码的插件,叫做Highlight4Writer,试用了一下,能够完成基本功能,但有一些不尽人意的缺点:1、插入的代码行间距太大,看起来不舒服,一页只能显示少量代码;2、支持的程序语言有限,无法自己定制;3、语言语法高亮颜色无法自己定制;4、无法显示行号。针对这些问题,我借用SyntaxBox的支持,自己开发了一款在WLW中插入语法高亮代码的插件。 下... 阅读全文
posted @ 2009-02-14 14:34 dax.net 阅读(663) 评论(0) 推荐(0) 编辑
摘要:在一个星期不到的时间里,空闲之余仍然摆弄着Visual Studio 2008,反正一直都在感叹Visual Studio的强大功能,也一直在考虑一些有关用.NET构造大型企业级应用的基础问题。今天,暂且不提什么大型企业级应用,这也不是短时间能够思考清楚的,先拿Visual Studio 2008做些小东西,为Windows Live Writer开发一个插入计算结果的插件吧。 在我们平时写博客的... 阅读全文
posted @ 2009-02-12 08:16 dax.net 阅读(331) 评论(0) 推荐(0) 编辑
摘要:IoC/DI(Inverse of Control/Dependency Injection,控制反转/依赖注入)模式是一种企业级架构模式,通过将应用程序控制权反转交移给框架,并以构造器注入、属性设置器注入等方式将类实体注入到特定应用层中,最终实现层与层之间的解耦,使得应用程序获得良好的扩展性和应变能力。 客户需求如下:需要向系统中添加两个窗体,Engineers和Analysts,分别显示工程师... 阅读全文
posted @ 2009-02-07 21:31 dax.net 阅读(754) 评论(0) 推荐(0) 编辑
摘要:很多IT行业的读者,如果有过一些面试经验的,都会被问到一个经典问题:什么是类库?什么是框架?两者有什么关系?我语文不好,要我用一句话去概括这个问题,恐怕也有点难度。就在此多花点笔墨,多写几句吧。类库 首先要谈到面向对象。为什么要面向对象?因为对象与其之间的关系能够客观地描述现实生活中的事物及其之间的关系。现实生活中的事物有如下特点:不同种类的事物,有着不同的属性,也有不同的行为。各种类的事物之间、... 阅读全文
posted @ 2009-02-07 20:43 dax.net 阅读(686) 评论(0) 推荐(1) 编辑
摘要:实际开发过程中,一对多(1:n)的对象关系是非常常见的,比如销售订单(Sales order)下可以有多条订单行(Sales lines),这种关系可以直接使用数据库提供的主/从表关联关系实现。面向对象分析与设计思想并不提倡将数据库作为整个模块甚至系统设计的主要对象。例如,在处理多对多的对象关系时,数据库的简单关联就显得有点力不从心了。在这种情况下,设计人员不得不增加新的数据表,以便将多对多的关系... 阅读全文
posted @ 2009-02-06 15:10 dax.net 阅读(1046) 评论(0) 推荐(0) 编辑
摘要:在上图中(点击查看大图),BrushBase的GetColor 是一个虚函数,为了提高封装性,我们在此将其定义为受保护成员(Protected)。GetColor 函数的实现部分被摆放在了BrushBase 的子类中,而BrushBase本身却用到了这个虚函数。在模板方法模式中,将GetColor 方法的实现称为延迟实现(Late Implementation),而将调用该方法的方法(BrushB... 阅读全文
posted @ 2009-02-06 15:07 dax.net 阅读(776) 评论(0) 推荐(0) 编辑
摘要:上文已经提到接口的基本知识,以及如何从面向对象的角度去认知接口与抽象类的联系和区别。本文将从另外的一些技术角度来继续讨论接口和抽象类的取舍问题。首先,在C#中,一个类仅可以继承于一个基类(可以是抽象类,也可以是普通的非密封类),但是它可以实现多个接口。因此,当某个类需要同时拥有多种不同的操作时,封装这些操作的类型就不得不被定义为接口。例如,“学生”实体本身可以根据年龄来比较... 阅读全文
posted @ 2009-02-06 14:55 dax.net 阅读(565) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示