自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 2012-10-18

这几天在看西交大的公开课《编译原理》,在我学到非确定自动机时,想起来以前做的一个项目。那时我想用自动机的模型,但是状态太多,导致了很重复,我直觉感到这些重复是可以消除的,但是通过什么方法去消除,我感到有一种很简单的方法,但是我却找不出来,让我如梗在喉非常不爽,在学了编译原理之后,我才知道,这种方法就是非确定自动机转化确定自动机的子集算法。 通过这件事让我感到,写软件是非常不容易的。单编译

2012-10-18 19:49:41 551

原创 读架构师应该知道的97件事

今天读了前篇和,读了这两篇文章,感觉让自己平静了一些。这些天以来,我一直在寻找新的解决方案,为此搞的心力交瘁,甚至整夜的睡不着觉。其实,这是我在自麻烦,只要原来的方案能解决问题,那没必要寻找更好的。古今中外有云,罗马不是一天建成的,欲速则不达。我的系统完全可以慢慢的提炼框架来,完全没必要一下推到重来。有一次,我想用一个现有的框架解决问题,可是趋利避害的本性告诉我,可能遇到很多不必要的麻烦。当时幸好

2012-02-02 00:18:16 410

原创 我的上位机

显示对象: Dtextbox :IExecutable,IDataVisitable               接口:实现可运行接口,可访问数据接口               功能:显示数值,并根据数值范围指定不同的颜色,指定报警范围。             SetVisitor(IDataVisitor visitor)// 设定数据访问器              SetData

2011-12-19 10:03:33 915

原创 《机械系统控制软件:实时系统面向对象设计》读后感

本书的核心内容是:从对象的角度来说,两个主要对象是:任务,状态及转换逻辑。从实现来说,扫描式执行,任务均是非阻塞代码实现。 最有营养的部分,如何用非阻塞方式实现阻塞逻辑。如果能和极限编程中的实现Command设计模式dispather结合起来,效果可能更好。等忙完这个项目,过年的时候再慢慢研究。

2011-12-18 23:05:28 992

原创 软件开发有感

软件开发是是很痛苦的,这就是我现在的感受。为了提高开发效率、写出适应变化、易于维护的软件,我在接触了很多东西,大多数都是浅尝辄止,因为项目还是在继续,在巨大的交付压力下,根本没时间去研究各种方法孰优孰劣。 很久以来我在寻找一种万能的开发方法,这种方法可以解放人的脑子,只是动动的简单的思维就可以了,不用敏思苦想,搞的人精疲力尽。在人月神话里面,这个方法被成为“银弹”,作者预测了10年内没有银弹,虽

2011-12-08 21:44:10 677

转载 研磨设计模式之 命令模式

http://www.cnblogs.com/sjms/archive/2010/07/09/1774069.html 命令模式也是开发中常见的一个模式,也不是太难,比较简单,下面来详细的写一下命令模式。 命令模式(Command) 1  场景问题  1.1  如何开机 计有些朋友看到这个标题会非常奇怪,电脑装配好了,如何开机?不就是按下启动按钮就可以了吗?难道还有什么玄机不成。

2011-11-28 20:53:29 537

原创 编程的许多方面

1、重构 2、设计模式 3、对象导向设计原则 4、抽象建模方法 5、测试驱动开发   c#基础概念

2011-11-28 20:44:37 300

原创 寻找对象的方法

一、观察问题域,映射现实中的实体 二、描述功能,名词做对象,动词做动作。这是启发方法,要甄别那些名词可以做对象,那些名词要排除 三、寻找“不变”和“变化”的概念,把不变的封装在一起,是“概念”,是抽象,把变化的封装一起,是实现,是具体。(来自《设计模式精解》119页) 四,考虑对象,要考虑对象应该承担的责任,而不是对象怎么去实现。 最重要是是两个原则:单一职责,开闭原则

2011-11-28 20:27:30 540

转载 领域驱动设计

摘抄: 领域中的主要概念被引入到语言中,语言中的名词很容易被映射成对象。语言中对应那些名词的动词变成那些对象的行为。但是有些领域中的动作,他们是一个些动词,看上去却不属于任何对象。它们代表了领域中的一个重要行为,所以不能忽略它们或者简单哪的把它们合并到某个实体或者值对象中。给一个对象增加这样的行为会破坏这个对象,让它看上去拥有了本该属于它的功能。但是,要使用一种面向对象语言,我们必须用到

2011-11-27 02:08:52 339

转载 c#中 遍历enum成员

public enum Suits { Spades, Hearts, Clubs, Diamonds, NumSuits } public void PrintAllSuits() { foreach(var suit in Enum.GetValues(typeof(Suits)))

2011-11-25 14:31:19 2644

原创 敏捷开发学习

敏捷开发核心的角色是“人”,是“笨人”开发软件的方法学。    敏捷开发的核心方法是,测试,重构,迭代。唯一的目的就是编写出高质量的源代码。测试,重构,迭代,都是围绕这一个目的展开。只是在不同的阶段,不同的情景下,侧重点不一样。     1、测试、重构、迭代 敏捷提倡测试优先,在编写任何一个功能前,首先写出测试代码。这叫测试驱动开发(TDD)。 TDD主要有两个好处,一是为重构保驾护

2011-11-24 21:19:19 972

原创 我的软件开发经历和收获

05年毕业至09年,大多数时间是做电气自动化方面的工作。在工作的同时,我一直保持着对编程兴趣爱好。在工作之余,常常编写小程序,当作娱乐消遣。所以在09年,我经过深思熟虑,决定放弃电气自动化工作,专门做编写软件。在我辞掉工作后,开始了软件开发工作。因为之前我在电气自动化行业,所以软件开发也是面向这个行业。 在电气自动化行业的软件,一般叫做上位机,上位机的软件在通常情况下,没有复杂的算法,常用功能就是

2011-06-08 21:42:00 5245 1

原创 生物做隐喻,软件技术中的仿生学

写这篇博客时候,思考软件构架已经走火入魔了   一般的动物,都有大脑。那么软件是否有控制中心模式呢? 大脑控制人的四肢,反应,主动性。软件可否有一个”大脑“?操作系统的内核,是否就是一个大脑呢? 生物的”血液“,是否一个通用的数据结构?血液,重要的功能是输送营养物质和氧气。那软件是否可以有“血液”呢,windows中的句柄(handle)是否就是一种血液? 生命的”神经“,是否是一个控制

2011-06-05 13:20:00 727

原创 关于编程的一些思考

   想象一下,一堆电子元器件,可以唱出优美歌曲、展现美丽的图片,可以管理公司所有信息,可以在工厂控制机器动作,可以做出漂亮的报表,可以绘制出如梦似幻的宇宙3d模型,这是电脑的用途。电脑实际可以处理的只是0、1,电脑把无数的0、1组合成美丽丰富的世界,这是多么了不起的一件事。抛开硬件不说,编程——就是如何组织这些二进制代码的工作。   在想象一下,你站在街头,看着熙熙攘攘的人群,你能否记住每个

2011-06-05 13:10:00 375

原创 第二篇博文《“设计模式”的内涵,以及具体设计模式适用问题的隐喻》

<br />我以前觉得自己很聪明,在公司写软件的时候也这么觉得。但是当我作为一名自由职业者写软件的时候,觉得自己很笨,脑子不够用,掉进泥窝里面,怎么也不爬出来。真的<br /> <br />在对客户改变或者增加功能,而我很难甚至无法修改代码时候,让我感到痛苦不堪,对自己能力产生了极大的怀疑,而且心情很糟(我承认我是一个很情绪化的人,这是事实)。<br />但是我既然做了自由职业者,我必须继续干下去,我必须赚钱生活。所以,为了调节心情,我看《道德经》《菜根谭》,寻找让自己心情平复下来的方法。在读了那些书之后,

2011-05-21 00:44:00 755

原创 第一篇博文《快速原型法和重构,可以迅速提高开发效率》

我认为快速原型模型的本质是,快速搞清软件到底应该实现什么功能,客户实际需求到底是什么。这包括两方面,一是软件开发者搞清楚,二是客户自己清楚需要什么功能,因为有时客户自己也不清楚实际需求,或者当初考虑不全面,导致后来要求修改这里修改那里。而快速原型法,潜台词就是告诉客户,你有什么功能赶快告诉我,别到最后说这说那。 敏捷开发的作者说,不要害怕需求变化,要拥抱变化。说实话,刚开始看到作者说这句话,感觉作者站着说话不腰疼。我是很不喜欢变化,我喜欢做最简单的事情,就可以赚钱,比如说,一个客户要求做一

2011-05-18 23:28:00 874

原创 独学而无友,则孤陋而寡闻

<br />独学而无友,则孤陋而寡闻<br /> <br />经过一年多自由职业程序员,我孤军奋战了一年多,做过几个项目后,发现自己对编程了解的太少了,,有时一个问题,好不容易找到解决办法后,才发现别人早就有更好简单的方案了,让我很失落。所以我在程序员的大本营,开始写东西,和大家多交流,互相提高,不再闭门造车了

2011-05-18 23:26:00 771

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除