上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要: 在公司写的1月份反思内容: 反思主题 指标系统未让客户满意 反思时间 2010-1-27 9:30:00 反思地点 办公室 现象/案例 1.BUG超出预期的范围:发布客户版本前,我们自己都感觉软件已经没有什么BUG了。但是一旦小红把软件交互给客户时,就会从小红那里获得许多的BUG反馈。而这些BUG,在当时正在和客户发版本的情况下,时间仓促,改起来感觉有点手忙脚乱,怎么忙也没办法忙完。2.沟通并不十... 阅读全文
posted @ 2010-01-27 10:56 BloodyAngel 阅读(355) 评论(1) 推荐(1) 编辑
摘要: 记录一下,9月份参加研发峰会时的材料。写得不好,而且思想也并不成熟。大致内容如下(EXCEL中直接粘过来的,比较乱): 类别 任务名称 背景介绍 目的(不超过三个) 目标(smart_c) 关键策略 选定方案 策略、方案、计划制定人 实施负责人 协作人 督导人考评人 时间 行动计划关键里程碑 成败攸关因素 管理三问 开发 设计:领域建模解决方案模式 1.业务与代码实现脱离:一般情况下,在进行领域... 阅读全文
posted @ 2010-01-26 17:02 BloodyAngel 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 看了几遍了,就只在书上勾了下,也没什么总结。暂且先把关键内容摘抄如下: Domain Logic Patterns Transaction Script Organizes business logic by procedures where each procedure handles a single request from the presentation. Domain Model A... 阅读全文
posted @ 2010-01-17 22:34 BloodyAngel 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: 原文见:DG Update: Dispose, Finalization, and Resource Management *Explicit Cleanup & Implicit Cleanup *实现Finalizer的类,无可避免地加大了系统的负担。最小的开支来自于,至少要把这个对象,加入Finalizable Object列表。 Dispose Pattern: Do imple... 阅读全文
posted @ 2010-01-17 21:15 BloodyAngel 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 看到这篇博客的朋友,你好。:) 如果你觉得这个问题有点意思,那么请留下你对这个问题的观点。 :) 类似的小问题,还有一个: null != obj 和 obj != null 之间的区别? 阅读全文
posted @ 2010-01-14 19:21 BloodyAngel 阅读(577) 评论(1) 推荐(0) 编辑
摘要: 前一篇博客 写了在这次重构中,如何找到关键的概念,并将它提取成为接口。这样,重构的方案基本上就已经被确定了。这篇博客主要说一些有意义的细节: 抽象实现 提取接口模型后,各“指标”类已经呈现出一种正确的逻辑关系。那么,现在更重要的就是重构上文中提到的“普通计算过程”。由于计算过程依然有很多种,并且有通用的抽象部分。再加上接口模型已经定义出了大量重要的... 阅读全文
posted @ 2010-01-12 20:44 BloodyAngel 阅读(1745) 评论(3) 推荐(3) 编辑
摘要: 背景 GIX4是一个建筑行业的指标计算软件,用于数据统计、分析。导入的大量数据,大部分呈现逻辑上的树状结构(关于它的重构,见:《重构一个繁琐的数据结构》),关系复杂。这些数据,需要经过由底向上的汇总,并进行业务上的计算,然后以另一形式展现给用户。开发一段时间后,表现系统的应用层出现以下问题: 1.速度慢 < 系统的计算分为两类,在这里,我简单地叫它们:正常计算过程、复杂计算过程。而复杂计... 阅读全文
posted @ 2010-01-11 21:05 BloodyAngel 阅读(2233) 评论(6) 推荐(1) 编辑
摘要: 转自《关于静态方法和实例方法的一些误区。》 一、 静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存。 事实上,方法都是一样的,在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。 二、 静态方法在堆上分配内存,实例方法在堆栈上。 事实上所有的方法都不可能在堆或者堆栈上分配内存,方法作为代码是被加载到特殊的代码内存区域,这个内存区域是... 阅读全文
posted @ 2010-01-05 16:20 BloodyAngel 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 通用哲学: 学习: 由浅入深、由表及里。 成长 = 每篇总结的质量 * 总结数。 ​​​​ 执行力:专注+计划+落地 文章:总论点+导航+结构+头尾+词汇 演讲:总论点+导航+结构+头尾+词汇 + 故事 沟通能力:理解能力、表达能力(站在对方的角度来表达、少使用代词、稍慢、停顿) 记忆:理解 兴趣: 阅读全文
posted @ 2010-01-04 12:36 BloodyAngel 阅读(1974) 评论(9) 推荐(0) 编辑
摘要: 人生观价值观 喜好心态目的目标方法 模式(部分:习惯)实践以上抽象层次可运用于多个领域,如:沟通、软件过程设计、架构设计等。附:《做最好的自己》之成功同心圆不成熟的6大心理特征心智模式成熟的十大标志 阅读全文
posted @ 2010-01-04 12:27 BloodyAngel 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 起因 使用SmartPhone上的WinForm做了一个WM的小程序,结果放到手机上实际一运行。发现动态生成的控件在里面显示得都非常小,难以看清。 原因 我的问题是需要在InitializeComponent方法结束后,动态生成一些控件,如下:/// <summary>/// 这个方法会根据传入的实体模型,生成一些选择框,设置它们的大小、位置;并会改变其它控件的大小、位置。/// ... 阅读全文
posted @ 2010-01-03 16:20 BloodyAngel 阅读(5269) 评论(4) 推荐(1) 编辑
摘要: 今天和同事一起讨论了CQRS(Command Query Responsibility Segregation),过程中,我产生了一些疑问,先记录在这里,以后有解决方案了再说。:) http://blog.jteam.nl/2009/12/21/rethinking-architecture-with-cqrs/ 以下是讨论正文: 发件人: 1B-2-12 胡庆访; 发送时间: 2009年12月31日 12:36收件人: 1B-2-14 穆洪星;3D-1-02 周金根抄送: 1B-2-05 李智; 1B-2-13 孟伟斯主题: 答复: 使用CQRS重新考虑架构 CQRS其实是说在使用DDD的 阅读全文
posted @ 2009-12-31 12:52 BloodyAngel 阅读(1832) 评论(1) 推荐(0) 编辑
摘要: (以下内容转自:个人管理 - 学习的心态) 软区域 印度有一个寓言故事:一个人想步行穿过大陆,但道路布满了荆棘,这时候他有两种选择:铺一条路,征服大自然,或者,准备一双草鞋。 硬区域要求有一个合作的空间让自己正常工作,对应故事的铺路 软区域心平气和的对待事情,适应它并学会使用它,对应故事的草鞋   每个人都想成为架构师、CTO,但是你的工作要求、周围环境、领导者等都有可能是你不能现在选择的,这... 阅读全文
posted @ 2009-12-28 20:27 BloodyAngel 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 我不会IL,也不想学IL,所以为了测试Lambda表达式编译的原理,只能使用调试进行试验来认识: 第一种情况,当Lambda表达式没有用到函数外的变量时:class MyClass2{ public Action TestLambda() { Action action = () => { Console.WriteLine(DateTime.Now); }; return action; } public static void Test() { MyClass2 c2 ... 阅读全文
posted @ 2009-12-25 14:15 BloodyAngel 阅读(540) 评论(0) 推荐(0) 编辑
摘要: *职称:《软件架构师》。*英语:6级听力轻松听。一份听力试题,可以做到80分以上。*框架:完善591jj、591jz中框架,发布一个正式版。*学习并完全掌握项目所用框架,精通所用到的技术。另外,还要学习VS2010.=================================================20110103 总结架构师职称对于今年中的最大的任务,中间确实花了不少时间。今年总共有大概10个月的时间为这个目标的完成做准备,但是只有四个月左右的时间在努力冲刺这个目标,其它的时间就利用得不是很好了,比较懒散、不高效。11月的时候已经参加了考试,自我感觉一般偏上:上午试题出了些小失 阅读全文
posted @ 2009-12-24 14:49 BloodyAngel 阅读(932) 评论(4) 推荐(1) 编辑
摘要: 预期读者 1. 初学者。 2. 想复习的人。 3. 原来学习并发觉得太复杂,没搞清楚,想以更简单的方式学习的人。 4. 懒得总结的人。 下面,我就以一个比较简单的方式来总结,和你们分享。:)目标 并发控制要做的是协调并发事务的执行,保证数据完整不受破坏,同时避免用户得到不正确的数据。主要目标有以下两个: 1. 保证事务的特性:ACID(Automicity,Consistency,Isolatio... 阅读全文
posted @ 2009-12-22 23:33 BloodyAngel 阅读(2350) 评论(2) 推荐(1) 编辑
摘要: 我原来在"这篇总结"中总结过一种的思维方式:TT(Tree-Thinking)。(嘿嘿,程序员嘛,喜欢用本行的术语(Tree)来解释一些现象。)一直以来,我都认为TT思维是很正确的,是比较不错的思维模式。这种方法可以用来考虑很多的事情了。 不过最近发现,事情并不是那么简单。这种TT的结构化思想虽然好 阅读全文
posted @ 2009-12-22 19:24 BloodyAngel 阅读(2276) 评论(3) 推荐(0) 编辑
摘要: 预期读者 1. 初学者。 2. 懒得总结的人。:) 3. 想大致了解WPF框架主要类的功能的人。 前言 学习WPF也有段时间了,今天把学到的东西整理一下,主要还是学自MSDN。 下面,我就WPF中最重要的继承线上的几个类列一下,并归纳下它们的功能和使用场景: Object(托管代码) 首当其冲的,自然是System.Object类了。这里主要想说的是,WPF的大部分代码都是使用托管代码编写... 阅读全文
posted @ 2009-12-18 21:09 BloodyAngel 阅读(5855) 评论(3) 推荐(3) 编辑
摘要: 方法一:*以各种方式了解这个框架产生的原因,及其主要解决的问题。1%*观察其主要外部接口(这里的外部接口是指公有类型)的使用场景,理解它的核心概念。5%*做些简单实例10% 简单的例子来一边实践一边学习,使用一些时间,主要目的是在过程中加深对核心概念的理解。*把里面比较重要的类列举出来,说明它们都是干什么用的。(比较重要,前期这样直接了解其抽象概念比较符合实际,不要过早深入。)1%*较熟悉框架以后,开始学习它的架构及架构思想。3%*分子系统,深入了解细节。看子系统时,可以先把外部接口都过一遍。或者,可以使用方法二进行学习。other%方法二:(此法不满足螺旋上升的理论,因为不可用于过大的框架。 阅读全文
posted @ 2009-12-18 15:14 BloodyAngel 阅读(4435) 评论(1) 推荐(0) 编辑
摘要: The SortedList<TKey, TValue> generic class is a binary search tree with O(log n) retrieval, where n is the number of elements in the dictionary. In this, it is similar to the SortedDictionary<... 阅读全文
posted @ 2009-12-18 13:40 BloodyAngel 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 前言 这里主要说一个使用using躲过异常的小技巧。 我原来就遇到过类似的问题好几次了,也没想到办法,直接有一天,调试得实在受不了了,才认真想了以下的解决方案。 问题 原来的代码是这样的: public abstract class Command : RoutedUICommand{ private bool _isExecuting = false; public void Execu... 阅读全文
posted @ 2009-12-17 20:32 BloodyAngel 阅读(3603) 评论(23) 推荐(3) 编辑
摘要: 我们做程序员的,每天都有很多事情要做。拿我来说吧,很多事情要做:要工作、要看书、看别人写的文章、研究源码、写写代码、陪陪女友、打打游戏、看看电影……你肯定也会面对这些多而乱的事情吧,那你是不是也会象我一样,一头乱麻呢?如果是,那你就是我分享的对象了。 :) 我以前一直做事都是随意而为,没什么规划,感 阅读全文
posted @ 2009-12-16 20:21 BloodyAngel 阅读(7050) 评论(49) 推荐(14) 编辑
摘要: 老爸:1955 10月30老妈:1964 7月初5妹妹:1989 4月23丹丹:8月17我:正月24写这备忘。加入日程…… 阅读全文
posted @ 2009-12-15 22:03 BloodyAngel 阅读(317) 评论(1) 推荐(0) 编辑
摘要: 读写锁是进程同步中经常使用的锁。 在System.Core中ReaderWriterLockSlim类比较好用,它是基于写优先策略的。它还支持从读锁升级到写锁,称为Upgradable Mode. 简单测试代码如下:private static void Test(){ ReaderWriterLockSlim locker = new ReaderWriterLockSlim(); Parame... 阅读全文
posted @ 2009-12-15 16:50 BloodyAngel 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 上面是我为GIX4项目所想的RolePermission。 这是OpenExpressApp框架中使用的方法:http://www.cnblogs.com/zhoujg/archive/2009/12/12/1622331.html 阅读全文
posted @ 2009-12-15 09:59 BloodyAngel 阅读(324) 评论(0) 推荐(0) 编辑
摘要: private static void OldMethod(BusinessObjectInfo parentBOInfo){ IList<BusinessObjectsPropertyInfo> bosPropertyInfo = parentBOInfo.BOsPropertyInfos; if ((bosPropertyInfo.Count == 1) && (n... 阅读全文
posted @ 2009-12-15 09:18 BloodyAngel 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 在使用OpenExpressApp框架的GIX4项目中,对象的懒加载按照对象的性质不同,分为以下两种方式:根对象类: Get方法:获取根对象,并附带上第一级的子对象属性。 GetLazy方法:获取没有子对象属性的根对象。只在简单列表显示时使用。懒加载的思想在这里的体现,比较特殊,大致是这样的:当点击列表中某个对象A时,会使用Get方法获取一个新的对象B,并把它的值全部赋于A,这样,A就在被点击的时... 阅读全文
posted @ 2009-12-11 18:56 BloodyAngel 阅读(306) 评论(2) 推荐(0) 编辑
摘要: 满足设计规范的设计。 满足代码规范的代码。(规范就是需要统一) 阅读全文
posted @ 2009-12-10 12:27 BloodyAngel 阅读(309) 评论(4) 推荐(0) 编辑
摘要: 原理:封装 封装是基于抽象的。抽象度的提取,就是在为它们做职责划分。 推论:(以下层次为推论级别)单一职责、接口明确。高内聚、低耦合、少依赖。 方法:API中尽量不要给出没有必要使用的类、接口、方法。 阅读全文
posted @ 2009-12-10 12:24 BloodyAngel 阅读(287) 评论(1) 推荐(0) 编辑
摘要: 一直很苦恼…… 最近这几天用了WindowsMobile的日历约会,感觉好些事情,已经可以从我的脑子里面滚出去了。另外,今天周哥和大家分享了他的GTD经验之后,再加上我原来对事情的分类和排序思想,觉得确确实实是应该有有一套自己的GTD模式。(周哥的文章:个人管理 - 认识无压工作GTD) 大脑是用来思考的,不是用来记事情的。深有感触! 这件事,现在已经成为了我的主要矛盾,是比别的要重要多了。... 阅读全文
posted @ 2009-12-09 19:40 BloodyAngel 阅读(1869) 评论(9) 推荐(0) 编辑
摘要: 这写得蛮易懂:http://www.cnblogs.com/holly/archive/2009/04/24/1443213.html 阅读全文
posted @ 2009-12-07 17:45 BloodyAngel 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 前言 这游戏跟《兔子跳铃铛》一样,也是在大学的时候写的。不过前者使用的是C++,而这个则是在大三上学期的时候用JAVA,在J2ME平台上开发出来的。代码不多,当时使用了不到三天时间,但是却感觉比兔子的游戏好多了。 我就写过这两个游戏,感觉玩起来还不错,所以都写出来和大家分享一下。代码在最后。:) 效 阅读全文
posted @ 2009-12-07 00:30 BloodyAngel 阅读(4067) 评论(11) 推荐(3) 编辑
摘要: 前言 好几年没有写C++代码了,今天朋友问起一个C++的问题,我是怎么也想不起答案来了。哈哈。所以现在把原来在大二时候写过的一个C++游戏先写下来,要不然以后估计都会忘记得一干二净啦…… 效果 打开游戏,先是一个闪屏: 然后是游戏主界面: 游戏开始后,一只被我减过肥的小兔子蹲在“烂”草坪上: 时间仓 阅读全文
posted @ 2009-12-05 20:13 BloodyAngel 阅读(3668) 评论(6) 推荐(1) 编辑
摘要: System.Collections.Generic.List is a generic collection designed for performance not inheritance and, therefore, does not contain any virtual members. The following generic collections are designed fo... 阅读全文
posted @ 2009-12-04 20:18 BloodyAngel 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 最近感觉操作是越来越快了。ShortCut、Cmd、PowerShell、Code Snippets…… 今天早上做着做着,居然有想吐的感觉,跟一开始打CS一样。晕!!! 阅读全文
posted @ 2009-12-04 10:49 BloodyAngel 阅读(246) 评论(1) 推荐(0) 编辑
摘要: 在GIX4项目的开发过程中,遇到一个比较复杂的数据结构。复杂,是因为它有许多限制条件。我的工作是在现有系统中,添加新的功能,并在过程中重构部分旧代码。 约束及需求 以下约束是系统中已经存在的必要的约束,不可绕开这些约束而进行代码的开发。 1.项目中,有许多的实体类,都含有一种多叉树的关系和逻辑。 2.这些实体的树型关系,在运行时,只有键的关系,而没有对应的实体引用关系。 由于GIX4是数据分析... 阅读全文
posted @ 2009-12-02 16:34 BloodyAngel 阅读(2105) 评论(5) 推荐(3) 编辑
摘要: 以前老是从设计和逻辑的角度去考虑事件,今天换了一个比较低的角度来看待它,突然感觉也很好: “如果你所编写的框架/类库中的某处,需要客户程序插入特定的代码,那么,这里可能需要一个事件。” (一般情况下不是可能,是应该,嘿嘿。) 阅读全文
posted @ 2009-12-02 11:24 BloodyAngel 阅读(326) 评论(3) 推荐(0) 编辑
摘要: 逻辑优先,就是指在写一段程序的时候,占据你大脑的应该是程序的逻辑,而不是程序本身。 虽然我们是向着这个方向发展,但是完全做到这点却是不容易的。 这要求编程语言本身完全符合人类的思维(语法),编写简单、迅速。 要求开发人员绝对熟悉编程环境,包括:操作系统、编程语言、IDE等…… 看似简单,其实不然…… 阅读全文
posted @ 2009-12-02 10:29 BloodyAngel 阅读(441) 评论(5) 推荐(0) 编辑
摘要: 写递归方法的时候,重中之重,就是这个方法的定义一定要在所有代码之前规定好。 这个接口的定义在这里起了关键性的作用。 阅读全文
posted @ 2009-12-02 10:11 BloodyAngel 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 最近,在使用LinqToXml的时候,使用到其中一个重要的类:XName。它表示一个XML元素/XML属性的“名字”。 System.Xml.Linq中的API,大量使用了这个类,如: 不过还好,我们不用每次都显式的new一个XName类的实例,因为它实现了从string类到它的隐式转换:public static implicit operator XName(stri... 阅读全文
posted @ 2009-11-23 15:55 BloodyAngel 阅读(695) 评论(5) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 下一页