fight4it

导航

 

2012年7月2日

摘要: 因为有个程序要比较大量的比较数据,所以今天做了些以前不会去做的事情,就是Performance Tuning。我的程序风格是比较OO的,对系统资源比较滥用的,只求编写容易,阅读容易的那种。所以我基本不考虑内存啊,运行效率执行效率这些东东。倒也不是我懒,或者我编程水平低,而是使用高等语言的OO程序,运行本来就快不了。加上.net框架的大量资源,本来Enterprise Application就不追求及时的速度。很多企业应用的专家,类似Martin Fowler也说过,不用去关心执行速度。只有当你发现有这个问题时,去解决它。因为很多时候,没有测速的程序,凭经验是很难找出真正问题所在的。Robert 阅读全文
posted @ 2012-07-02 17:20 fight4it 阅读(123) 评论(0) 推荐(0)
 
摘要: public static class ExtensionFunctions{ public static T As<T>(this object x) { return (T)x; } public static double ToThePowerOf(this double x,double y) { return Math.Pow(x,y); } public static string Format(this object d, string expression) { return String.Format(expression, d); } public static 阅读全文
posted @ 2012-07-02 17:19 fight4it 阅读(262) 评论(0) 推荐(0)
 
摘要: <section> <ul data-bind="foreach:customers"> <li> <div data-bind="click:$parent.toggleProducts"> <span>this is customer:<em data-bind="text:Name"> </em> at ID:<b data-bind="text:ID"></b> and has <b data- 阅读全文
posted @ 2012-07-02 17:11 fight4it 阅读(237) 评论(0) 推荐(0)
 
摘要: 传统开发 ----------------------------- YAGNI, 'You Ain't Gonna Need It' “你不会需要它”。这句金句告诉我们,不要Over Design,而只需要Focus目前需要的功能就可以了。基本上,传统的Top Down的Software Life Circle是有点不符合这句话的,但是新生的Agile Process倒是蛮奉行这个理论的。 If It's Not Broken, Don't Fix It! ”如果没有坏,就别去修它。“这是众多工程师奉行的金句。同样,传统的开发模式是有点违背这一思想的, 阅读全文
posted @ 2012-07-02 17:00 fight4it 阅读(1097) 评论(0) 推荐(0)
 
摘要: GOF在《设计模式》中提出了23个模式,不过还是有很多其他的模式没有涉及到。在《Design Pattern Explained》里面,提到了Object Pool Pattern。还有一个Template Method。在很多书里,像DDD啊,Refactoring啊里面都有Null Object pattern。在Refactoring To Patterns里面,还有一个Collecting Parameter Pattern,类似Visitor的。还有一个Composed Method,这个比较简单。和Template Method基本一样。在RobertCMartin的AgileSo 阅读全文
posted @ 2012-07-02 16:58 fight4it 阅读(265) 评论(0) 推荐(0)
 
摘要: Template Method模板是一个很简单,也是非常有用的代码重用技术。基于继承的原理,新的类从就有的Template Class继承,选择需要复写的部分Override,选择继承适合的部分。而组合出的新类,可以提供完整的,与其余同样继承Template的类有所区别的功能。Template类里面往往定义了一系列操作,还有操作顺序,这些Method往往是Abstract或者是Virtual的,允许继承者复写。Template类本身往往不能实例化。.net带给我们很多额外的能力来制作Template Class。1,Generic。2,Partial Class,Partial Method。 阅读全文
posted @ 2012-07-02 16:55 fight4it 阅读(143) 评论(0) 推荐(0)
 
摘要: Adapter适配器模式,基本有两种,一种叫Class Adapter,使用Inheritance的方法,创建新类继承Adaptee类。然后Implement新的Interface。利用Call基类的函数,实现转换。另外一种是比较好的写法,叫Object Adapter,基于Composition Over Inheritance的理念,利用一个Adaptee的Instance作为内部Member。然后Implement新的服务Interface。Call这个Adaptee Instance的函数来实现转换。同时,这样避免了如果Adaptee是一个Sealed Class的问题。 很好用的模式 阅读全文
posted @ 2012-07-02 16:52 fight4it 阅读(131) 评论(0) 推荐(0)
 
摘要: 以前看设计模式,都是读书+理解为主,基本不动手写Code。这两天看TerryLee的博客,觉得把Code写出来,总结一下也是好事情。于是从第一个GOF Pattern开始,一个个写出例子来。看别人的理解,加上自己的理解,写出来做个笔记好了。 --------------------------------------------------- Singleton 目的,很简单,创建一个有且只有一个Instance的Object。Application所有引用都指向这个Single Instance。 目前在.net环境下,Singleton的实现有5种不同的方法。有好有坏,各有优缺点。 方法一 阅读全文
posted @ 2012-07-02 16:50 fight4it 阅读(122) 评论(0) 推荐(0)