摘要:
首先,这个话题太厚重了,水平还远远达不到系统阐述它的能力,只是对最近零碎感悟以及学习所得的一点汇集。(大家谁有好的书或资料推荐一下?)
因为对.NET平台熟一点,所以命令式语言就以c#为例,函数式语言就以fsharp为例。
最近对函数式编程语言有些兴趣,通过网上资料,书籍了解了一些FP语言:像微软的fsharp以及haskell,与以前一直使用的命令式语言有许多的不同(当然一些语言既可以让你以命令式语言的思维去编写,又提供FP的编程范式,最明显的莫过于javascript了),这些不同之处体现在以下一些方面
immutable 不可变对象,(简单的说immutalbe就是一定声明定义后就不能更改其值了)在FP里immutable对象是主流,是默认的(当然像fsharp提供关键字可以让你定义可变对象),不同于c#等编程语言,虽然它们提供readonly,const等关键字让你定义immutable对象,但这种定义过程是可选的,在命令式语言的世界里mutable是主流。
很自然的会想,FP为什么会这样呢,是出于一种什么理念这么去实现?
原来是因为 “λ演算”(读作lambd 阅读全文
摘要:
写了几年代码,从最开始根本没有源代码管理这种概念,到本地化的VSS6,到可外网访问的VSS2005,SVN,分布式的GIT,认识到合适的源代码管理真是非常必要(即使是开发团队只有一个人!),一方面体现在可以很方便的进行源代码历史回溯,分支,再就是可以避免误删代码这种灾难性失误。一般来说,.NET开发环境下配合VSS2005进行源代码管理比较普遍,毕竟都是MS一家嘛,和VISUAL STUDIO 一... 阅读全文
摘要:
Fluent Interface 直译过来是 “流畅(流利)的接口”,照字面有点难以理解。咱们还是从用代码来说明 (c#)public interface IRect{ void SetWidth(int width); void SetHeight(int height);}public Rect : IRect{ private int _width; private ... 阅读全文
摘要:
也许你正在去往学校的途中 虽然学习的过程并不轻松 但学校还有那么多可爱的同学和玩伴 总会让人感到欢欣也许你正赶赴工作岗位 虽然有那么多紧张的工作任务在等待你去完成但一想到过完今天便是周末总会让人充满干劲也许你已经满头白鬓 步履蹒跚 虽然身子骨已日渐西下 但一想到膝下满堂的儿孙 风雨同舟的老伴 总会感到精神矍铄。。。。。一切来得是那么猝不及防浓重的黑雾遮盖了你的视线你放肆的努力 踢打 是多么想冲破它... 阅读全文
摘要:
django官方自带的manage.py syncdb只能根据已有的models同步新建数据表,而无法做到和rails一样根据实体同步修改数据表,好在有第三方插件可以提供这项功能。django_evolutionWhen you run ./manage.py syncdb, Django will look for any new models that have been defined, a... 阅读全文
摘要:
走出一号线车厢,还是如往常一样随着熙攘的人流涌到我们共同的中转站。目的地相同,姿态却不一样,有时尚的OL结伴而行议论女人话题,也有不紧不慢慵懒踱步的老头老太,当然更少不了像我一样背着电脑包的IT民工兄弟们。行进在这汹涌潮流里我有时就想:他们是什么样的人?又是怀着怎样的目的漂泊在这城市呢、、、、还记得小时候,和大多数男孩子一样,热衷于恐龙特级克赛号,圣斗士这类充满英雄气概的动漫画,童心里渴望着也成为... 阅读全文
摘要:
一直以来,在SP无线运营系统的中关于同步接口的设计由于上下家系统设计的规范不一致,导致这一部分不能很好的抽象共用,在我近2年来接触的各方平台接口大部分都是以一个接口作为一个页面的形式开放给上下家使用,表现形式只是编程平台的不同,或asp或php等,同一系统各接口的共用部分也多以数据访问层为主。
接下来将就我如何应用IoC控制反转容器和AOP来从技术角度解决这一问题做一个描述。 阅读全文
![](http://images.cnblogs.com/cnblogs_com/yyliuliang/184180/r_InvokersAndResults.png)
摘要:
常用号段如下:中国移动134.135.136.137.138.139.150.151.152.157.158.159.187.188 ,147(数据卡)中国联通130.131.132.155.156.185.186 中国电信133.153.180.189 CDMA 133,153正则如下: /// <summary>/// 匹配移动手机号/// </summary>publ... 阅读全文
摘要:
delegate 委托可以理解为cxx 语言中的函数指针,标示了方法调用的回调函数的规范。强类型,便于编译时检查是它的最大优点,从此可以和void * 说再见了。event 事件用以delegate委托声明事件,标示响应该事件的回调函数必须符合其声明委托的定义lambda 表达式在.net世界中表现为匿名委托,之前又要提到匿名方法(函数)public class Test{public void ... 阅读全文
摘要:
1.给xmlhttp请求添加提示[代码]2.全选Checkbox[代码] 阅读全文