2014年8月10日
摘要: 快速排序、冒泡排序、插入排序、选择排序、二分查找、求质数、求最大公约数,求最小公倍数 阅读全文
posted @ 2014-08-10 18:23 Melou 阅读(396) 评论(0) 推荐(0) 编辑
  2014年4月19日
摘要: 动态地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类更为灵活。 阅读全文
posted @ 2014-04-19 18:20 Melou 阅读(1546) 评论(0) 推荐(0) 编辑
  2014年3月29日
摘要: 为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 ——《设计模式》GoF 阅读全文
posted @ 2014-03-29 19:19 Melou 阅读(252) 评论(0) 推荐(0) 编辑
  2013年5月26日
摘要: 动态规划常被认为是递归的反向技术,所谓的递归算法是从顶部开始,把问题向下全部分解为小的问题进行解决,直到解决整个问题为止。而动态规划则是从底部开始,解决小的问题同时把它们合并形成大问题的一个完整解决方案。 解决问题的递归算法经常是很优雅的,但是却是很低效的。尽管可能是优雅的计算机程序,但是C#语言编译器以及其他语言都不会把递归代码有效翻译成机器代码,并最终导致效率低下。 阅读全文
posted @ 2013-05-26 18:21 Melou 阅读(2422) 评论(1) 推荐(0) 编辑
  2013年4月28日
摘要: 由于项目需要把WCF部署外网,在公司完成程序,测试没有问题,wsDualHttpBinding 双工通信,内网测试没有问题,部署到外网,就报超时异常operation may have been a portion of a longer timeout 阅读全文
posted @ 2013-04-28 21:27 Melou 阅读(2210) 评论(1) 推荐(1) 编辑
  2012年6月22日
摘要: 作为一条设计原则,依赖倒置原则(DIP)强调高层组件应该依赖于抽象而不是某个具体的实现或功能。控制反转(IoC)就是对依赖倒置原则的一个应用,用一段泛化的代码控制更加特定的外部组件的执行。 阅读全文
posted @ 2012-06-22 21:27 Melou 阅读(656) 评论(0) 推荐(0) 编辑
  2012年6月16日
摘要: 软件开发业界中有许多挂着架构师称号的人。架构师应该负责设计和指导,但是许多名片上印着“架构师”的人配不上这个称号。作为架构师,不应该只是画一些看起来很漂亮的设计图,说一些像“黑话”一样的词汇,使用一大堆设计模式——这样的设计通常不会有效的。 这些架构师通常在项目开始时介入,绘制各种各样的设计图,然后再重要代码实现开始之前离开。有太多这种“PowerPiont架构师”了,由于得不到反馈,他们的架构设计工作也不会有很好的收效。 阅读全文
posted @ 2012-06-16 23:01 Melou 阅读(1185) 评论(0) 推荐(0) 编辑
摘要: 设计是软件开发过程中不可缺少的步骤。它帮助你理解系统的细节,理解部件和子系统之间的关系,并且指导你的实现。一些成熟的方法论很强调设计,例如,统一过程(UP)十分重视和产品相关的文档。项目管理者和企业主常常为开发细节困扰,他们希望在开始编码之前,先有完整的设计和文档。毕竟,在建筑行业是这样的。 阅读全文
posted @ 2012-06-16 12:06 Melou 阅读(317) 评论(0) 推荐(0) 编辑
  2012年5月27日
摘要: 若想设计出好的软件,普通的设计原则就够了。你并不需要特别的设计模式,不过若某个问题恰好可以由某个模式解决,那么该模式将成为解决问题的捷径。时至今日,重复发明轮子,绝对不是什么好事。 模式并不一定是某个问题的终极解决方案,使用模式也不会让你的代码更好,或者执行速度更快。你更不可能冲到客户面前说:“看,我的产品使用了组合模式、一个领域模型、控制反转和策略模式等,因此这个绝对是个完美的软件。正确应用模式只能保证解决问题,对待模式要有一颗平常心,不要话费很大的力气去让设计符合某个模式。 阅读全文
posted @ 2012-05-27 19:11 Melou 阅读(703) 评论(0) 推荐(0) 编辑
  2011年8月20日
摘要: 匿名方法->Lambda表达式->LINQ,每种技术似乎都是有源头的哦。在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法。C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方式。有一种情况下,匿名方法提供了 Lambda 表达式中所没有的功能。匿名方法使您能够省略参数列表,这意味着可以将匿名方法转换为带有各种签名的委托。这对于 Lambda 表达式来说是不可能的,Lambda表达式加上扩展方法就成了LINQ匿名方法:没有匿名方法的时候(C# 1.0): addButton.Click += n 阅读全文
posted @ 2011-08-20 16:01 Melou 阅读(661) 评论(1) 推荐(1) 编辑