上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 28 下一页

2013年9月19日

FAQ:枚举和常规的值,到底哪种更符合程序使用?

摘要: 问:枚举和常规的值,到底哪种更符合程序使用?答:肯定是根据不同的场景,做出不同的选择。如果是不同的值需要不同的逻辑,肯定是枚举好一些。如果只是表示某个取值范围且这个范围会动态变化,用常规的值 + 数据字典会方便很多。 阅读全文

posted @ 2013-09-19 22:33 幸福框架 阅读(267) 评论(0) 推荐(0) 编辑

2013年9月18日

技术交流:领域驱动设计 入门篇(优酷版)

摘要: 相关资料下载PPT:http://yunpan.cn/QGYM6PDrq7n9b。示例:http://yunpan.cn/QGYMkdKIxVzbN。视频:第一节、第二节、第三节。视频 阅读全文

posted @ 2013-09-18 09:05 幸福框架 阅读(3064) 评论(3) 推荐(1) 编辑

2013年9月17日

设计原则:小议 SPI 和 API

摘要: 背景第一次听说 SPI 是阅读《软件框架设计的艺术》,以后陆续在 Log4Net 和Quartz.Net中发现了以这种形式组织代码的方式,本位给出为什么要区分 SPI 和 API 的一个思考过程。从面向接口编程说起我们在“调用方”和“实现方”之间引入了“接口”,上图没有给出“接口”应该位于哪个“包”中,从纯粹的可能性上考虑,我们有三种选择:“接口”位于“调用方”所在的“包”中。“接口”位于“实现方”所在的“包”中。“接口”位于独立的“包”中。下面让我们依次分析这三种可能性,如果现实中确实有这种可能性,不如我们就为其起个名字以方便交流。“接口”位于“调用方”所在的“包”中我们先想象一个场景,以仓 阅读全文

posted @ 2013-09-17 09:00 幸福框架 阅读(16137) 评论(2) 推荐(4) 编辑

2013年9月16日

技术交流:领域驱动设计 入门篇

摘要: 背景上周五在群里为感兴趣的朋友简单介绍了一下“领域驱动”,自我感觉还是讲的不到位,没有表达好自己,闲了要看看视频,在发音和表达方式上要下功夫。相关资料下载PPT:http://yunpan.cn/QGYM6PDrq7n9b。示例:http://yunpan.cn/QGYMkdKIxVzbN。视频:第一节、第二节、第三节。备注下一步作为公司的内训再讲一遍。 阅读全文

posted @ 2013-09-16 09:06 幸福框架 阅读(979) 评论(3) 推荐(3) 编辑

2013年9月15日

Go:如何组织代码

摘要: 备注此文主要是对官方教程的学习总结,官方教程:http://golang.org/doc/code.html。工作空间(Workspaces)Go代码必须保持在一个workspace,workspace是一个目录结构,他有三个子目录构成:src:包含了组成packages的源代码,一个目录就是一个package。pkg:包含了package objects(编译后的类库)。bin:包含了executable commands(编译后的可执行程序)。go tool编译packages,然后将编译结果安装到pkg目录或bin目录,下面是一个湿示例:GOPATH环境变量GOPATH环境变量指向了Wo 阅读全文

posted @ 2013-09-15 19:56 幸福框架 阅读(12673) 评论(1) 推荐(0) 编辑

2013年9月14日

Go:Hello World!

摘要: 备注结束了一周紧张的工作,周末像品茶一样玩味一下Go,本文主要记录学习Go的经历。Go是什么?官方网站:http://golang.org/。在Windows下安装Go官方教程:http://golang.org/doc/install#windows。使用压缩包方式安装的注意事项解压目录环境变量设置Path让你方便的在命令行使用go命令。GOROOT是编译系统搜索内置package时使用的路径。GOPATH是go install命令安装commandexecutable和package object的路径,编译时也会搜索此路径下的package。你好世界hello.go1 package m 阅读全文

posted @ 2013-09-14 23:59 幸福框架 阅读(2961) 评论(0) 推荐(0) 编辑

2013年9月13日

技术人生:教学相长,努力做好培训

摘要: 背景最近正式确定了我的工作职责:攻关和培训,之前没有正式的培训讲课经验,但是每次的培训过程,感觉收获最大的是自己,有必要做好每一次培训。如何做好培训?目标受众要确定,提前做好调查。培训方式要确定,常见的方式有:现场和QQ。培训时间要确定。培训PPT要做好。如何写培训PPT?目录要确定。内存简洁,多图少字。提前征集FAQ。备注培训过程如果遇到自己不懂的或回答不了的,不要忽悠,夸奖对方提问的好,然后告诉他以后再一起交流。 阅读全文

posted @ 2013-09-13 09:32 幸福框架 阅读(338) 评论(0) 推荐(0) 编辑

2013年9月12日

Ruby:对象模型(又称八卦模型)笔记

摘要: 备注如果说哪门语言对我影响最大,那就是Ruby了,在.NET阵营多年,试图去用C#的思维去解释很多东西,当然解释Java是足够了,可惜我也用了好几年去解释Javascript,结果是可想而知的:解释不通。直到我遇到Ruby,这让我了解到一件事:不能用一种语言的思维去解释另外一种语言,当然某些局部特点是有可比性的。本文重点解释一下Ruby的对象模型(可以理解我Javascript的原型模型),有此可以看出Ruby的完美和统一。对象模型无图无真相基本规则一切皆为对象:instance是一般对象、#instance是临时类型对象、Child是一般类型对象、Class是特殊的元类型对象(其实例是一般类 阅读全文

posted @ 2013-09-12 09:01 幸福框架 阅读(2262) 评论(5) 推荐(1) 编辑

2013年9月11日

DDD:使用EntityFramework的话,如果只为聚合根设计仓储,其它实体如何处理?

摘要: 背景DDD中只有聚合根可以有仓储,仓储负责整个聚合持久化的相关生命周期,在不使用工作单元或POCO的情况下,我们可以让Order内部直接调用DAL操作OrderItem。我们也可以让Order跟踪所有OrderItem的状态,然后在OrderRepository内部操作OrderItem。如果我们采用了重量级的ORM工具,如:EntityFramework,事情会不会变得简单呢?使用EntityFramework持久化聚合关键思路:双主键。示例聚合这里以订单和订单项为例。Order管理OrderItem 1 public void AddOrderItem(OrderItem ... 阅读全文

posted @ 2013-09-11 08:43 幸福框架 阅读(5210) 评论(2) 推荐(2) 编辑

2013年9月10日

DDD:再谈:实体能否处于非法状态?

摘要: 背景实体能否处于非法状态吗?如果实体只承担其作为实体的职责,我不认为实体可以处于非法状态,如果您将实体在不同的分层之间传递,如:UI->Application->Domain-Data,那么这种情况实体承担的角色就当多了(职责过重),在这种情况下是允许处于非法状态的,也可以这么说:某个类型的实体角色是不能处于非法状态的,如同这个类型还承担其它角色,是可以处于非法状态的。参考文章http://www.cnblogs.com/happyframework/p/3158338.html。http://www.cnblogs.com/happyframework/p/3242183.htm 阅读全文

posted @ 2013-09-10 09:01 幸福框架 阅读(2071) 评论(23) 推荐(1) 编辑

2013年9月9日

EntityFramework:迁移工具入门

摘要: 背景刚毕业做项目的时候,没有用“迁移”这个概念,系统发布和更新的过程让人非常痛苦,在学习 Ruby On Rails 的过程解除了“迁移”,以后的所有项目都会先确定好“迁移”的方案,本文介绍一下EntityFramework5提供的迁移工具。之前是如何做的?原始的迁移脚本脚本格式 1 --执行开始-- 2 3 Alter Table RcExaminees ADD [IntroducerOfEmployeeId] uniqueidentifier null 4 5 --执行结束-- 6 7 --撤销开始-- 8 Alter Table RcExaminees DROP C... 阅读全文

posted @ 2013-09-09 09:23 幸福框架 阅读(2418) 评论(0) 推荐(3) 编辑

2013年9月8日

技术人生:态度决定人生

摘要: 背景这几天老板让我开发一个仪表盘,开发过程不断的提一些小需求,我显得有点不爽了,整体喊着“拥抱变化”原来都是废话,好在我马上调整了心态,这好像也是第一次主动的调整心态。重构切记:及时重构。有变化就有重构,重构的重要性不言而喻,几乎每天都在做重构,每次都能更好。备注心态、心态、心态、心态很重要,努力锻炼自己的心智。 阅读全文

posted @ 2013-09-08 09:37 幸福框架 阅读(274) 评论(0) 推荐(0) 编辑

2013年9月7日

EntityFramework:EF Migrations Command Reference

摘要: Entity Framework Migrations are handled from the package manager console in Visual Studio. The usage is shown in various tutorials, but I haven’t found a complete list of the commands available and their usage, so I created my own. There are four available commands.Enable-Migrations:Enables Code Fir 阅读全文

posted @ 2013-09-07 19:39 幸福框架 阅读(1310) 评论(0) 推荐(0) 编辑

2013年9月6日

DDD:聊天笔记

摘要: 聚合跟和实体聚合根是实体。实体有生命周期,使用标识进行跟踪。聚合根是全局标识,由仓储或其它服务负责其生命周期。实体是局部标识,由聚合根负责其生命周期。为什么能应对复杂度?纵向、横向、时间维度的合理划分,如:分层、分聚合、分上下文、迭代(分时间)。什么是值对象?首先值对象是”不可变的“,也就是说值对象是”原子的“,String是值对象,其聚合了Char列表,因为常见的关系数据库内置了对String的支持,因此映射起来比较容易,简单的值对象也被ORM所支持(拉平),但是集合形式的值对象,就需要自己映射了,而且要保证”集合本身“是值对象。 阅读全文

posted @ 2013-09-06 23:55 幸福框架 阅读(768) 评论(0) 推荐(0) 编辑

2013年9月5日

DCI:DCI学习总结

摘要: 备注之前把DCI的Role和四色原型的Role给弄混了,本文也不会比较这两种Role的区别(后面有机会再说),这里简单的记录一下对DCI的理解。参考文章:http://www.cnblogs.com/happyframework/p/3302238.html。什么是DCI?Context 选择 Data,让 Data 扮演 Role 执行 Interaction。Data用户模型(只包含数据和本地方法)。如: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 阅读全文

posted @ 2013-09-05 13:58 幸福框架 阅读(9884) 评论(3) 推荐(3) 编辑

2013年9月4日

DCI:The DCI Architecture: A New Vision of Object-Oriented Programming

摘要: SummaryObject-oriented programming was supposed to unify the perspectives of the programmer and the end user in computer code: a boon both to usability and program comprehension. While objects capture structure well, they fail to capture system action. DCI is a vision to capture the end user cogniti 阅读全文

posted @ 2013-09-04 22:29 幸福框架 阅读(2250) 评论(0) 推荐(0) 编辑

2013年9月3日

设计原则:消除Switch...Case的过程,可能有点过度设计了。

摘要: 备注不要重复自己,也不要重复别人,一旦养成了“拷贝和粘贴”的习惯,写程序的时候非常容易导致重复,好在一直暗示自己要稍后进行重构,本文给出一个重构的示例。需求需求:按照年、月和日显示销售数据,根据不同的周期类型,有三个问题需要注意:默认的日期范围不同图表中显示的格式不同默认的模拟数据不同(发布环境会使用真实的数据)如下图:第一遍代码(重复的代码)最爱的拷贝和粘贴。默认的日期范围不同 1 private void ResetStartDateAndEndDate() 2 { 3 this.EndDate = DateTime.Now; 4 ... 阅读全文

posted @ 2013-09-03 23:40 幸福框架 阅读(5544) 评论(21) 推荐(2) 编辑

2013年9月2日

.NET:动态代理的 “5 + 1” 模式

摘要: 背景什么叫“动态代理”,代理模式我们都知道,动态代理就是动态生成的代理(采用Emit)。重量级的ORM和IOC产品离不开动态代理,作为开发人员,多数情况不用关注动态代理的内部实现机制,但是了解其一般的规律和模式还是有必要的,比如:虽然你开发期间采用了POCO,因为开启了动态代理,运行期间则不是POCO。本文简单描述了5种代理生成模式和1种Mixin模式,最后给出一个示例。公共代码这里先给出公共代码。 1 public interface IPlayable 2 { 3 void Play(); 4 } 5 6 public class Anim... 阅读全文

posted @ 2013-09-02 08:59 幸福框架 阅读(8359) 评论(6) 推荐(5) 编辑

2013年9月1日

Silverlight:《Pro Silverlight5》读书笔记 之 Dependency Properties And Routed Event

摘要: Dependency Properties And Routed EventDependency PropertiesDynamic Value ResolutionAs you’ve already learned, dependency properties depend on multiple different services, called property providers. To determine the current value of a property, Silverlight has to decide which one takes precedence. Th 阅读全文

posted @ 2013-09-01 21:26 幸福框架 阅读(303) 评论(0) 推荐(0) 编辑

2013年8月31日

技术人生:寻求突破

摘要: 说给自己听不管是技术上或生活上,最近好像又达到了一个临界点,在这个点上没法突破自己,一直以来我都希望每年有两次突破(自己否定自己)。或许是没有方向导致的,学习Ruby、Python和PHP,却没有深入应用任何技术。用半月时间对之前的学习进行一个总结,然后选择一个方向,深入进去。 阅读全文

posted @ 2013-08-31 21:42 幸福框架 阅读(226) 评论(0) 推荐(0) 编辑

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 28 下一页

导航

我要啦免费统计