代码改变世界

ALinq Dynamic 使用指南——前言

2014-05-15 15:39 by 麦舒, 803 阅读, 0 推荐, 收藏, 编辑
摘要:一.简介ALinq Dynamic 为ALinq以及Linq to SQL提供了一个Entiy SQL的查询接口,使得它们能够应用Entity SQL 进行数据的查询。它的原理是将Entiy SQL解释为Linq表达式,再执行生成的Linq表达式。1.关于 Entity SQLEntity SQL是... 阅读全文

前端与后端分离的架构实例(三)

2014-02-19 14:30 by 麦舒, 4742 阅读, 1 推荐, 收藏, 编辑
摘要:自从前几天写了篇前端与后端分离的架构文章,总觉得有点意犹未尽的感觉,于是乎准备把写成一个系统。准备逐渐深入地给大家去展现这个系统的架构。不过,我会写得比较随意,基本上想到什么就写什么,不会有很严谨的逻辑关系。这个系统,是我现在正在开发的一个系统的架构,可不是什么理论或者拍脑袋想出来的。事实上,这个架构我思考了差不多一年了,还在上一家公司工作的时候,这个架构就在我的头脑中酝酿了,只可惜一直没有机会让我去做,很感谢现在的老板,给我这么一个机会,让我把它变为现实。我们再来重温一下我所负责开发的系统的架构:前段架构在这个图里面,大家可以看得到,前端部份,是通个一个数据访问层去访问服务端的数据的,可以简 阅读全文

前端与后端分离的架构实例(二)

2014-02-17 10:28 by 麦舒, 6546 阅读, 3 推荐, 收藏, 编辑
摘要:前几天,写了一篇名为《一个前端与后端分离的架构实例》的文章,在那篇文章里,以一个真实的项目作为实例。现在接着再谈谈我对于前端与后端分离一些新的想法。对于我来说,理想的架构是,后端提供各种各样的服务,而前端只要把这些服务给整合起来,就变成一个客户所需要系统。但是,实际上在整合的过程,都需要泛及到后端的开发,我期待是后端涉及到的改动是尽可能的少。当一个系统是基于前端与后端分离这种模式来进行来发的,通常来说,这种开发模式使得整个开发的环节变长了,这将导致整个开发团队(包括前端与后端开发人员)的开发失去了灵活性,因为一点点小功能的改动,很有可能都需要好几个人来进行协作开发。举一个例子来说,如下图所示, 阅读全文

前端与后端分离的架构实例(一)

2014-01-25 11:38 by 麦舒, 36157 阅读, 7 推荐, 收藏, 编辑
摘要:看了《系统架构:Web应用架构的新趋势---前端和后端分离的一点想法》这篇文章,对前端与后端的分离非常认同,这样做对于系统的维护是有相当大的好处的。正好自己也设计了一个这样的系统,于是把它拿出来,和大家讨论一下。这个架构,与其说是想出来,还不如说是我做系统总结出来的最佳实践。我们做的系统,前端的页面基本都是使用 JavaScript 的富户端页面,主要应用的框架用,jquery、jquery ui、knockout js、Durandal、另外,还有自己封装的一些 UI 组件,后端的主要采用到的技术有 OData、MVC、Linq to SQL 以及自己写的一个权限管理组件,数据库采用的是 S 阅读全文

一个示例让你明白界面与数据分离

2014-01-21 11:08 by 麦舒, 20573 阅读, 9 推荐, 收藏, 编辑
摘要:前几天,看到叶小钗同学的《一次面试回顾——探讨表现与数据分离》,并且发表自己的见解。他说的“表现”,在我的文章表述为界面,我认为:1、界面与数据的分离,必须体现在代码上,界面的代码归界面的代码,数据的代码归数据的代码,两者必须泾渭分明。2、当界面需求发生改变,只需要改写界面的代码,并且所改写的代码不能影响到数据访问的代码。只有做到这两者才算界面与数据分离。叶小钗同学让我上代码,趁今天还不是很忙,写下了下面的代码: 添加 代码是可以直接Copy运行的,界面如下图:上面的代码,真正做到了界面与数据的分离:1、在数据访问的代码,没有... 阅读全文

迟来的2013年度总结

2014-01-02 13:58 by 麦舒, 1707 阅读, 2 推荐, 收藏, 编辑
摘要:很久没有在博客园写过东西,原来打算写的《深入了解Linq to SQL》的系列也太监了,自从来 到大上海,由于项目忙,再加上生活丰富,再另外自己在忙于写一个新的框架,实在没暇顾及自己的博客了。为什么来上海2013年,由于广州、深圳找不到工作,同时耍了半年,也厌倦了,经朋友介绍就来了上海。找不到工作的原因大慨是自己开的价格相对高,同时面试的公司也不怎么需要我这种人,再另外一个原因,相比那些小朋友,年纪大了,对方觉得我不会安稳地呆在那里上班。上海与广州的差异很多在广州的朋友都会问,能不能适应上海的生活。其实除了热一点,冷一点,还真没觉得有多大的区别,六月底刚来那会,感得上海就象个烤箱,竟然比广州还 阅读全文

WCF Data Service 使用小结(二) —— 使用WCF Data Service 创建OData服务

2013-07-04 10:38 by 麦舒, 3796 阅读, 9 推荐, 收藏, 编辑
摘要:在上一章中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源。下面来介绍如何创建一个 OData 服务。在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Service 来创建OData服务。当然,对于 JAVA 或者其它平台,也是可以创建 OData 服务的。甚至是数据库,都可以提供 OData 服务。WCF Data Service 是需要 ORM 的支持的,当然,主流的 ORM 都已经支持 WCF Data Service 了,包括(但不限于) Entity Framework、Linq to SQL、ALinq 这些主流的 ORM 框架。一、创建 阅读全文

WCF Data Service 使用小结 (一)—— 了解OData协议

2013-07-03 11:35 by 麦舒, 8563 阅读, 10 推荐, 收藏, 编辑
摘要:最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的。关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的框架。可以很方便地通HTTP来访问数据库,如果你是做富客户端开发的,用它绝对能大大减少你的工作量。出于对这个框架的喜爱,于是把自己的一些使用经验写下来,并且希望有更多的人能够用上。OData简介说起 WCF Data Service ,不得不说的是 OData。对于一个标准的 Web 服务,它往往会提供了一些功能,比如说:订货、退货这些,然后使用者通过HTTP协议来使用这些功能。这是面向服务的基本 阅读全文

《深入了解 Linq to SQL》之对象的增删改 —— 麦叔叔呕心呖血之作

2013-06-22 12:38 by 麦舒, 621 阅读, 0 推荐, 收藏, 编辑
摘要:你的程序里,是否到处充斥着这种代码:db.Customers.InsertOnSubmit(customer);db.SubmitChange();如果某一天,因为 Customers 表的数据库巨增,需要把它拆成两个表,你是否会胆寒???当然,对于查询,我们可以通过视图来解决。对于插入,或者更新呢... 阅读全文

Linq to SQL 也来AOP 之 —— ALinq Inject 使用指南

2013-06-14 09:52 by 麦舒, 1392 阅读, 5 推荐, 收藏, 编辑
摘要:ALinq Inject 是一个可以对 Linq to SQL 或者 ALinq 进行注入的框架,它可以对四个方法进行注入,添加实体、删除实体、更新实体和验证实体。关于框架的下载以及程序集的引用,请查看Linq to SQL (ALinq) 也来AOP —— ALinq Inject 博客园首发。ALinq Inject 是一个非常之简单易用的框架,你只需要通过继承HandlerAttribute 的类,重写其中的方法即可注入。该类一共定义了13个方法,其中三组是增删改的方法,每组四个。验证方法仅有一个。public abstract class HandlerAttribute : Attr 阅读全文

《深入了解 Linq to SQL》之对象的标识 —— 麦叔叔呕心呖血之作

2013-06-13 09:09 by 麦舒, 2075 阅读, 16 推荐, 收藏, 编辑
摘要:序言很多朋友都向我提过,希望我写一下关于Linq to SQL 或者 VS 插件方面的文章。尽管市面上有很多 Linq to SQL 的书籍,但是都是介绍怎么用,缺乏深度。关于 VS 插件方面的书籍也是很显浅,按书籍做出来的东西,只能是学生级别的东西,根本拿不出手。他们觉得我有这个能力写好。从技术能... 阅读全文

Linq to SQL (ALinq) 也来AOP —— ALinq Inject 博客园首发

2013-06-12 21:20 by 麦舒, 4347 阅读, 117 推荐, 收藏, 编辑
摘要:简介ALinq Inject 是我的又一开源项目,之前已经开源了两个作品:ALinq FluentALinq Dynamic这两个开源项目都是托管在 CodePlex 上,而 ALinq Inject 是我本年度的第三个开源项目了。这个项目,我花了几个月的时间去构思,然后再花了差不多一个月的时间去编写,非常不容易,如果你对此感兴趣,请点击一下推荐按钮,也就举手之劳。在 Linq to SQL 上使用 AOP 有什么好处?好处太多了。下面列举几个常见的应用情景,在这些情景中,应用AOP,可以使用代码更为优雅。1、数据的验证2、操作日志3、数据更新的记录。特点简单易用,ALinq Inject 目 阅读全文

又见ORM跑分 —— 对ORM跑分的吐嘈

2013-06-09 00:26 by 麦舒, 2460 阅读, 5 推荐, 收藏, 编辑
摘要:又见ORM跑分了,说实在的,这个ORM的跑分有意义么?而且还围观者众,喜欢看热闹的人还真是不少呀。经常见到不少人,在吹某个ORM的性能如何、如何地好,然后再辅以几个单元测试的跑分来佐证,和咱天朝的山寨手机吹嘘性能好,价格便宜有何两样?甚至连山寨手机都比不上,起码山寨手机,还敢收钱!我们都知道,简衡量一个手机的好坏,不仅是性能,还包括屏幕、散热、做工、服务等等。同样,衡量一个ORM的好坏,不仅是性能。事实上,ORM的性能,对整个系统的影响是很小的,真正的大头是在IO那一块,并且差距是几何级别的。如果一个ORM不好使,需要多查了一次数据库,无论你如何去优化,算法如何出色,总体查询时间都要大于少查一 阅读全文

使用Orachard与Bootstrap建站心得

2013-06-08 10:44 by 麦舒, 6355 阅读, 13 推荐, 收藏, 编辑
摘要:最近使用Orchard和Bootstrap为哥的ALinq做了个小网站,总得来说,很不错。比自己一行一行地写代码,有效率多了,而且页面也干净利落,当然,比起专业的网站的,还是有不少距离。选择Orchard,是因为从几年前,就一直在关注它,用的人相对来说也比较多,并且,采用的技术也是主流的。但免费的东西终究是免费,始终有着这样或那样的不足,不过,一旦想到它是免费的,也就安然接受了。其实,我是很想付费来做的,为什么最后还是自己做呢?1、沟通的成本太大了,花费在沟通上面的时间,不会比我动手开发的时间少。2、后期的维护,特别是些小的修改,这个还是自己动手会方便、快捷些。网站如果是别人做的,到了后期,我 阅读全文

闲聊吉日与水军

2013-06-03 14:54 by 麦舒, 1006 阅读, 4 推荐, 收藏, 编辑
摘要:在写这篇文章之前,本上绝非吉日的水军,和吉日的认识也仅限于博客园(至今为止),更没拿过他的五毛钱(不是五毛)。如果吉日看到这篇文章说要请我吃饭,那也是后话。在博客园里混的,基本上没有不知道吉日的吧,吉日是颇具争议性的人物。 园子骂他的人,无非基于两点理由:东西不好用,还卖钱。雇用水军,为自己的产品造势东西好不好用,我是不敢说的。但是既然有用户愿意付款购买,我想,也不会至于一无是处。说不好用的,我也能体谅,毕竟涉及到权限的管理系统,都是业务性很强的东西,不可能符合所有的公司。但是,仅因为自己的不喜欢,就四处叫骂,就有点不合情理了。至于卖钱,我觉得正常不过了,付出了劳动,得到回报是很正常。有些人真 阅读全文

记我的一次重构——希望对新人有所帮助

2013-06-03 11:07 by 麦舒, 2482 阅读, 9 推荐, 收藏, 编辑
摘要:看过博客园里几篇关于重构的文章,感觉都不怎么实在。下面我来谈谈自己的一次重构经历,希望对新人能有所帮助。ALinq 这个产品维护了将近五年的时间,最近对它进行了一次重构。为什么要重构?主要是为了适应业务的发展需要。产品是服务于业务,而重构是服务于产品,归根到底,重构是服务于业务。所以我一直强调,好的架构不是想出来的,而是做来的,经验积累下来的。很多时候业务的发展,往往会超出你出初的预期,所以在产品的前期想设计出一个完美的架构是不可能的事。这次的重构,出现了很多问题,一直陆续推出了好几个版本,才开始稳定下来,还好我的用户都是些忠实的用户,用ALinq好几年了,一直耐着性子,一个版本一个版本地安装 阅读全文

ALinq BUG & 版本发布

2013-04-18 15:32 by 麦舒, 670 阅读, 0 推荐, 收藏, 编辑
摘要:BUG List2013-5-16:环境为XP + VS 2010,在安装 ALinq_V3.3 时,在安装时发生回滚,无法成成功安装。解决方法:安装 .NET Framework 3.5 。(V3.3 已修复)2013-4-18:在电脑仅安装 VS 2012(并未安装 VS2010),无法成功加载... 阅读全文

谈谈需求的变更

2013-04-01 09:46 by 麦舒, 1698 阅读, 2 推荐, 收藏, 编辑
摘要:本来只想写一篇的,没想到写着写着就成了系列了。关于这个系列的前两篇文章:《谈谈项目的开发》《谈谈项目的执行》。在写这篇文章之前,先答复一些朋友的疑问,项目的开发,有没有必要到那以细呀?究竟有没有必要,见仁见智吧,毕竟每个管理者在管理时所面临的问题都是不同的。首先说说一名TEAM LEADER往往会面临到的问题吧:1、保证项目的质量与可维护性。人员很多都是刚毕业的,编码的方法、变量命名都很不好。举个例子来说,数学的大于用的单词是Bigger,很让人无语。看过我前面的文章都知道,我是很强调要多阅读代码的,如果你是经常阅读一些好的开源代码,是不可能出现这样的命名的。2、提交的代码,看似完成,但是细节 阅读全文

记我的一次失业经历

2013-03-31 17:10 by 麦舒, 8593 阅读, 36 推荐, 收藏, 编辑
摘要:有朋友听到我失业了,表示很惊讶,“牛人也会失业?",是的,会的。因为自己不适合那间公司,而且失业对我的发展来说也是件好事。某天的一个上午,在写着代码,突然被老大叫进了办公室。告诉我,合同期完,公司不准备给我续约了,直白点,就是把我给裁员了。虽然有点意外,但是,也在情理之中。之所以在情理之中,因为自己真的不适合这间公司,这个职位。每个人的能力都是不同的,只有放在合适它的位置,才能把的才华给发挥出来。打个比方说,如果关羽、张飞坐到了诸葛亮的位置,来运筹帷幄,会发什么情况呢?公司期待我是一个Team Leader,带几个小弟从事项目的开发,但是,我却希望能专从心从事技术的研究。有朋友跟我说 阅读全文

我对程序员技能的一些认识

2013-03-24 15:50 by 麦舒, 2609 阅读, 1 推荐, 收藏, 编辑
摘要:看了这篇文章《优秀程序员无他-善假于物也》,我忍不住再次吐嘲。其实,这篇文章对于刚刚接触编程——也就是刚刚会写"Hello World"的人,还是有点参考价值,只是这篇文章说到的技能,应该是优秀程序员所应该具备的,但只会这些就称之为优秀的程序员,未免过于贬低优秀这个词了。很多时候,我听到一些程序员很爱标榜自己很爱接受新技术,看了多少本书,很上进,相反,象哥哥这种老程序员,则嗤之以鼻,认为不接受新事物,不爱学习,固步之封。对于这种井底之蛙,我是一笑置之,懒得跟他说,免得教聪明他。当然,如果能虚心点,我倒是很乐意和他们探讨的。相反,我是个非常上进的程序员,非常热学习。能十几年如 阅读全文
上一页 1 2 3 4 5 6 ··· 8 下一页