代码改变世界

随笔分类 -  敏捷开发与重构

AngularJs项目文件以及文件夹结构

2015-09-27 23:36 by 圣殿骑士, 6254 阅读, 收藏, 编辑
摘要: app/ Libs/ // references for all libs angular.js angular route.js common/ // acts as reusable/shared components or partials of our site header/ ... 阅读全文

完成AngularJS with MVC 5, Web API 2项目

2015-08-31 23:58 by 圣殿骑士, 3317 阅读, 收藏, 编辑
摘要: 经过接近两个月的日夜奋战,完成AngularJS with MVC 5, Web API 2的项目,这也是进入公司以后最大的一个项目,从项目需求、用户Prototype/Demo,招人,开发完成,可谓是一波三折!希望后面UAT和Go Live能够顺利! 阅读全文

从Knockout到Angular的架构演变

2015-06-30 23:37 by 圣殿骑士, 15677 阅读, 收藏, 编辑
摘要: 2008年第一次在WPF中使用MVVM模式之后,就一直热衷于耦合隔离、模块化、UI和逻辑分离、单元测试以及后面的领域模型。谈及MVVM模式,自己也开发过一套框架,但没有长期更新和维护,所以索性就一直使用Prism和MVVM Light。到2012年的时候,看到HTML5的大行其道和Silverlight的衰落,果断投入ASP.NET MVC和Knockout的开发和研究,虽然Knockout比较容易上手且方便使用,但总觉得没有在WPF和Silverlight中使用MVVM那么酣畅淋漓。虽然后面通过Durandal 让我有所改观,但始终还是有所缺憾,直至现在使用Angular,尤其是Angular + TypeScript才发现一切问题都不复存在了。 阅读全文

招聘.NET开发人员(截止于2015-06-15)

2015-04-30 00:16 by 圣殿骑士, 14564 阅读, 收藏, 编辑
摘要: 2014年6月30日离开微软新加坡,第二天随即加入现在的公司,之后一直忙碌着公司的新项目,权限系统、以及旧项目的维护与重构,整体来说一起都比较顺利,每天都忙碌、痛苦并快乐着。由于前面几个系统的顺利开发完成并上线,所以忙里偷闲,恰巧最近公司突然来了一个在我看来非常大且持久的项目,面对挑战,我希望能把它顺利的接下来并做大做好,遂希望招聘几名志同道合的.NET程序猿。 阅读全文

架构设计分享之权限系统(看图说话)

2014-08-31 22:41 by 圣殿骑士, 34963 阅读, 收藏, 编辑
摘要: 前面一篇文章《最近架构随想》,我提到架构设计的一些构想,其实也是对之前项目经验的一些归纳及总结。今天我们就以权限系统作为切入点,谈一谈怎么设计权限系统以及怎么做到系统具有以下特性,不要忙碌于重复的码农工作,喝杯咖啡,享受代码,早点回家,陪老婆、陪小孩,环球旅游,享受生活! 阅读全文

最近架构随想

2014-07-28 08:19 by 圣殿骑士, 17324 阅读, 收藏, 编辑
摘要: 今天新加坡放假,闲来无事就发一篇博客:一则总结归纳项目构架经验,审视并逐步提高自己;再者分享最近学习所得,希望各位能讨论并给些建议。六月三十日从原来公司离职,七月一日入职新公司,不知不觉已经快一个月了。最近忙于学习新的行业知识以及项目的重构设计,没有时间发博客,也没有时间回复邮件及博文评论,忘各位见谅! 阅读全文

新加坡架构师面试总结

2014-02-19 19:24 by 圣殿骑士, 22106 阅读, 收藏, 编辑
摘要: 本来是想把之前面试的一些经历和体会以一个系列的形式写出来,但一直都有这样或者那样的事情“从中作梗”,所以直到现在也未能如愿。我当时在新加坡一共面试了七家公司(有欧美企业,香港企业,新加坡政府、企业以及银行),其中有电话面试,视频面试,笔试,机试以及“面对面”面试。最终结果一共收到4个offer,其中以新加坡管理大学和微软两个Offer最难取舍。鉴于很多朋友发邮件提到这个问题,我本意是很想把这些文章补上,但是这个月忙着赶项目,下个月又要和老婆去澳大利亚旅游大半个月,所以先发一张之前概述的总结图,希望对需要这些资料的朋友一些帮助或者启示。 阅读全文

架构设计(ASP.NET MVC+Knockout+Web API+SignalR)

2014-01-16 18:12 by 圣殿骑士, 14434 阅读, 收藏, 编辑
摘要: 最近忙于重构项目的架构设计,没有时间发博客,也没有时间回复邮件及博文评论,忘各位见谅。今天先发布架构设计图,同样没有时间写相关的介绍也没有时间回复评论,所以就不发在首页,希望给看到的朋友一些参考,同时也希望大家给点意见! 阅读全文

微软平台开发技术蓝图

2013-12-31 15:27 by 圣殿骑士, 9992 阅读, 收藏, 编辑
摘要: 最近项目面临技术选型,忙里偷闲画了一幅微软平台开发技术蓝图。由于时间有限,还有很多不完善的地方,就不发在首页,分享出来,只是希望能给需要的朋友一些参考。 阅读全文

我与英语技术书籍

2013-09-05 00:01 by 圣殿骑士, 20963 阅读, 收藏, 编辑
摘要: 今天这篇我们就来聊一聊英语相关的技术书籍,文中主要讲英语技术书籍,所以中文书籍以及其他不是计算机相关的书籍不在此篇论述范畴。需要强调的是文中的观点只是自己的学习心得和一些体会,属一家之言且鉴于本人学识浅薄,如有不对的地方,也请大家见谅并指正。 阅读全文

31天重构学习笔记重新整理下载

2013-07-18 02:38 by 圣殿骑士, 18779 阅读, 收藏, 编辑
摘要: 31天重构这个系列和《代码大全》、《重构:改善既有代码的设计》比较起来最大的特点就是比较简单且浅显易懂。我这系列文章也都是学习并概括Sean Chambers的31天重构的知识要领,所以如果大家对这个笔记有任何的问题或者异议也可以指出,或者大家可以直接去看原文(即可掌握了技术,又可以学习英语!) 阅读全文

31 天重构学习笔记索引

2010-06-30 01:51 by 圣殿骑士, 22251 阅读, 收藏, 编辑
摘要: 由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的 blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,所以有必要专门整理一个重构的纲要,当然这个系列也非常适合做新系统的代码规范参考,只要有代码的地方,这个重构规范就很有价值。 阅读全文

31天重构学习笔记31. 使用多态代替条件判断

2010-06-29 17:31 by 圣殿骑士, 5420 阅读, 收藏, 编辑
摘要: 本文中的”使用多态代替条件判断”是指如果你需要检查对象的类型或者根据类型执行一些操作时,一种很好的办法就是将算法封装到类中,并利用多态性进行抽象调用。”使用多态代替条件判断“这个重构在很多时候会出现设计模式中(常见的工厂家族、策略模式等都可以看到它的影子),因为运用它可以省去很多的条件判断,同时也能简化代码、规范类和对象之间的职责。 阅读全文

31天重构学习笔记30. 尽快返回

2010-06-29 16:33 by 圣殿骑士, 3374 阅读, 收藏, 编辑
摘要: 本文中的”尽快返回”是指把原来复杂的条件判断等语句用尽快返回的方式简化代码。这个重构很重要,它和前面讲的”分解复杂判断“有些类似,我们在做复杂的处理过程时,要经常考虑这个重构,用好了它,会对我们的帮助很大。 阅读全文

31天重构学习笔记29. 去除中间人对象

2010-06-29 16:13 by 圣殿骑士, 2841 阅读, 收藏, 编辑
摘要: 本文中的”去除中间人对象”是指把 在中间关联而不起任何其他作用的类移除,让有关系的两个类直接进行交互。 ”去除中间人对象“很多时候都会很有作用,尤其是在误用设计模式的代码中最容易见到,设计模式中的适配器模式和代理模式等都用中间的类是两者进行关联,这是比较合理的,因为中间类做了很多事情,而对于没有任何作用的中间类应该移除。 阅读全文

31天重构学习笔记28. 为布尔方法命名

2010-06-29 14:31 by 圣殿骑士, 3158 阅读, 收藏, 编辑
摘要: 本文中的”为布尔方法命名”是指如果一个方法带有大量的bool 参数时,可以根据bool 参数的数量,提取出若干个独立的方法来简化参数。”为布尔方法命名“这个重构在很多时候都不常用,如果用户的参数可枚举,我们一般会枚举它的值,不过使用这种重构也有好处,就是分解开来以后,方法多了,参数少了,代码维护起来方便了一些。 阅读全文

31天重构学习笔记27. 去除上帝类

2010-06-29 13:53 by 圣殿骑士, 4355 阅读, 收藏, 编辑
摘要: 本文中的”去除上帝类”是指把一个看似功能很强且很难维护的类,按照职责把自己的属性或方法分派到各自的类中或分解成功能明确的类,从而去掉上帝类。”去除上帝类“是我们经常容易造成的,第一是因为简便,看到有一个现成的类,大家都会喜欢把代码往里面写,最后导致越写越大,并且声明功能都有,这样即降低了可读性,也造成了维护的负担。 阅读全文

31天重构学习笔记26. 避免双重否定

2010-06-29 13:35 by 圣殿骑士, 2981 阅读, 收藏, 编辑
摘要: 本文中的”避免双重否定”是指把代码中的双重否定语句修改成简单的肯定语句,这样即让代码可读,同时也给维护带来了方便。”双重否定“很容易让人产生错误的判断,也很难让人理解你的代码,所以这个重构在我们的代码中是很重要的,尤其是在判断条件很多且业务复杂的时候。 阅读全文

31天重构学习笔记25. 引入契约式设计

2010-06-29 12:02 by 圣殿骑士, 3145 阅读, 收藏, 编辑
摘要: 本文中的”引入契约式设计”是指我们应该对应该对输入和输出进行验证,以确保系统不会出现我们所想象不到的异常和得不到我们想要的结果。微软在处理代码乃至产品的时候,很喜欢应用此重构,你如果认真看它的代码库,认真看一下WCF的设计,就不难发现了。这个重构建议大家经常使用,这会增强整个系统的稳定性和健壮性。 阅读全文

31天重构学习笔记24. 分解复杂判断

2010-06-29 10:45 by 圣殿骑士, 3484 阅读, 收藏, 编辑
摘要: 本文中的”分解复杂判断”是指把原来复杂的条件判断等语句用尽快返回等方式简化代码。这个重构很重要,它和后面讲的”尽快返回“有些类似,我们在做复杂的处理过程时,要经常考虑这个重构,用好了它,会对我们的帮助很大。 阅读全文