代码改变世界

【转】分享我的面向对象分析方法

2011-10-07 12:07 by bugfly, 571 阅读, 1 推荐, 收藏, 编辑
摘要:转自www.cnblogs.com/netfocus先说最重要东西,即我的核心面向对象分析思路:1)找出最关键的一些业务场景;一般通过动词来寻找,比如招聘系统中,一个应聘人投递一个职位就是一次应聘,应聘就是一个业务场景;一个学生参加某门课的考试,那么考试就是一个业务场景;一个学生去图书馆借书,那么借书就是一个业务场景;2)针对每个业务场景分析出有哪些场景参与者,哪些参与者以对象的形式参与,哪些参与者以服务的形式参与;为什么要区分对象还是服务是因为有时候我们不关心参与者是哪个,而只关心参与者是什么。一般服务在系统中我们只关心它是什么服务,并且在系统中服务一般也只有一个实例;而对象则不同,我们会关 阅读全文

ExtJS & ASP.NET MVC3.0 学习笔记三

2011-07-16 21:36 by bugfly, 4230 阅读, 4 推荐, 收藏, 编辑
摘要:系列目录 ExtJS & ASP.NET MVC3.0 学习笔记一 ExtJS & ASP.NET MVC3.0 学习笔记二 ExtJS & ASP.NET MVC3.0 学习笔记三 ExtJS & ASP.NET MVC3.0 学习笔记四正题 今天,我们来学习一下Ext.Template,这个东西究竟有什么用呢?这是我当时看见它的第一反应。顾名思义,Template即“模板”,很直观的解释,但放到程序上来就不好理解了,而我自己对模板的定义是“静态不变的东西”,而究竟这里是不是这个意思呢?是不是其实不重要,重要是它是用来解决什么问题的,我们为什么要用它?如果叫我 阅读全文

ExtJS & ASP.NET MVC3.0 学习笔记二

2011-07-15 20:28 by bugfly, 3602 阅读, 1 推荐, 收藏, 编辑
摘要:系列目录 ExtJS & ASP.NET MVC3.0 学习笔记一 ExtJS & ASP.NET MVC3.0 学习笔记二 ExtJS & ASP.NET MVC3.0 学习笔记三 ExtJS & ASP.NET MVC3.0 学习笔记四正题 今日我们来看看ExtJS下的两个UI组件,Button和Window,如果你曾经用过JQuery,这两个东西也不会很陌生。在我看来,这两个东西都是在开发中经常用到的,几乎每一个Web都会用到Button,Window可能不多,但也是必不可少的东西,所以我们来扫一扫ExtJS下的Button和Window。我粗略地翻了翻E 阅读全文

ExtJS & ASP.NET MVC3.0 学习笔记一

2011-07-14 21:19 by bugfly, 6262 阅读, 7 推荐, 收藏, 编辑
摘要:导读 本这个系列主要用来记录我在ASP.NET MVC3.0上应用ExtJS学习的过程,而MVC3.0的技术可能只是作为穿插,并不深究。而强调的是我也是ExtJS入门级菜鸟。 我认为,用一样东西,首先应该给自己一个理由。所以我要先说说我学习ExtJS的理由。ExtJS并不是我学习的第一只UI框架,在选择它之前,我已经使用了JQuery 1年了,对比原生的JavaScript,JQuery让我很得意,能做到一行代码换3行原生脚本代码,用简洁来形容JQuery一点都不过分,累积了几个应用JQuery项目的经验后,我总结出我对JQuery这个UI框架的看法,它的插件品种繁多的,让人觉得它无所不能,可 阅读全文

【转】四色原型-第一印象

2011-07-14 08:09 by bugfly, 550 阅读, 0 推荐, 收藏, 编辑
摘要:此文转自http://blog.csdn.net/asukamk2/如果说设计模式、分析模式分别是对OOD和OOA的提炼与精化,那四色原型可以说是对需求分析的提炼与精化。复杂的东西总是可以通过简单的东西组织、表达出来。软件工程中也是如此,任何需求都可以抽象成四色原型中的四种角色之一:moment-interval archetype(MI):是四色原型中很重要的一个原型,它具有较强的时间属性,表达了某时某刻(或较短的一个时间段内)的一件事情,比如“晚上11点观看西甲联赛”。moment-interval archetype使用粉红色标示。role archetype(RO):表达角色,概念跟平 阅读全文

【转】四色原型图的思考

2011-07-14 07:52 by bugfly, 627 阅读, 0 推荐, 收藏, 编辑
摘要:此文转自http://yananay.iteye.com学习四色原型图有一段时间了,磕磕碰碰一路走来,更有理解严重偏差的时候,不过近日总算有所领悟了,把一些想法写在这里,供大家共同讨论。 不过说到四色原型图,大家更愿意一起比较的是“领域驱动设计”,简称 DDD,因此这个讨论也就把 DDD 掺合在一起了。 (关于四色原型图的信息,大家可以自行google,有一个英文版的pdf文件。) 1、Moment-interval 这个图被作为是四色原型图中最重要的一个部分。我想也是最难理解的一个图。原文对它的定义是:某一个时刻,或者某一段时间内发生的业务。这种定义非常非常的抽象,导致我们在使用四色原型图去 阅读全文

【讨论】在领域对象里,是否应该存在Setter和Getter?

2011-06-24 20:25 by bugfly, 1589 阅读, 3 推荐, 收藏, 编辑
摘要:经过上篇【讨论】“转账功能”引发的“谜团”的讨论,获益良多,首先先感谢各位博友的看法,真是醍醐灌顶,在细品评论的同时,我觉得很有必要结合自身对各位博友评论的理解总结出一些什么来反馈一下,所以特此开多一篇文章来,集思广益。和上篇做法差不多,通过不同做法对比来展开讨论,要注意的是本篇的伪代码完全和上篇没有承接关系,内容上也没有绝对的联系。由于上一篇讨论之前我没有具体说明实现代码实之为伪代码,给部分博友带来不少疑虑,把关注点放到了具体实现上,本人表示十分愧疚!所以在开篇之前先声明:本文说明的代码全是伪代码,大家无需关注具体的实现细节~XD,废话少说,进入正题。本篇的讨论中心:在领域对象里,是否应该存 阅读全文

【讨论】“转账功能”引发的“谜团”

2011-06-22 20:30 by bugfly, 4879 阅读, 6 推荐, 收藏, 编辑
摘要:今天拿出了一个憋在心中很久的问题来和领域驱动群的群友讨论,经过几小时讨论,总体上来说还是不能解决我心中的疑惑,所以直接拿出来和博友们来讨论一翻,希望以博客园大家的见识来为我释怀。为了让大家对所讨论的问题达成共识,就拿一个比较经典的ATM转账功能实现来展开讨论。如果我直接说大家都转过账,这未免太绝对了,但我相信在生活中,每一个人都听过这个词,废话少说直接进正题。讨论的中心:如何从用例(功能)来精炼领域模型。大家先不要急着回答我的问题,先对比以下落来的3位同学的对“转账功能”的具体实现。1.甲君实现“转账”的代码评论:甲君这种实现方式,咋看上去并无问题,或许很多朋友也都是这样去实现转账功能的 阅读全文

Unity 在MVC上的应用(扩展篇:JQuery AJAX)

2011-06-16 19:21 by bugfly, 3208 阅读, 4 推荐, 收藏, 编辑
摘要:系列目录 Unity 在MVC上的应用(上:思路整理) Unity 在MVC上的应用(中:Repository) Unity 在MVC上的应用(下:ORM) Unity 在MVC上的应用(扩展篇:JQuery AJAX) Unity 在MVC上的应用(扩展篇:事务控制-前篇ActionFilter) Unity 在MVC上的应用(扩展篇:事务控制-后篇Unit Of Work) Unity 在MVC上的应用(扩展篇:日志管理NLog)正题回顾上几篇,我说过会在今后的扩展篇系列加入一些常用的技术,所以今天就说说在ASP.NET MVC上的JQuery AJAX应用。先来简单描叙一下两个用到的东西 阅读全文

【讨论二】服务层(Service)的功能参数列表的粒度

2011-06-12 13:21 by bugfly, 1678 阅读, 3 推荐, 收藏, 编辑
摘要:上篇【讨论二】服务层(Service)的功能参数列表的粒度 可能缺少代码段和图片,大家都不怎么来参与,所以在原有的基础上加入这些元素,希望大家能给点灵感我。我们一般在设计服务层的时候总会有这种情况,究竟参数列表是简单类型还是对象类型?首先我们从比较常见的场景入手,修改订单。这里我们先不考虑它是否应该归属于领域对象。根据场景很自然就能提炼出一个功能:EditOrder(XXX),我们开始看看参数列表的写法的种类。我大概想到3种。1.void EditOrder(string orderName,string orderText,float Money);2.void EditOrder(Ord 阅读全文