自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程,哲学和诗歌~~~~~

不敢思考者是奴才。

  • 博客(34)
  • 收藏
  • 关注

转载 面向对象软件开发和过程(七): 业务建模

业务建模是OOAD的重要组成部分,简单的说,业务建模就对业务领域问题进行结构化的描述。这个描述将会直接指导最终生成的软件,业务模型是否具有扩展性,业务模型是否能够正确的反映需求,都将影响最终软件的质量。 1. 业务建模

2008-06-01 23:06:00 891

转载 领域模型的概念

自从Martin Fowler的DDD(Domain Driven Develop 领域驱动开发)提出来之后,无数的人就开始非议ORM方式下的持久化实体类,抨击这种方式下的实体类是“贫血”的,缺乏丰富业务语义的。其实他们都犯了一个最基本的逻辑错误 - 偷换概念。 概念是如何被偷换的呢?请注意,领域模型(Domain Model)是一个商业建模范畴的概念,他和软件开发并无一丝一毫的关系,即使一个企业

2008-06-01 22:53:00 777

转载 怎样成为优秀的软件模型设计者?

我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?   将下列原则应用到你的软件工程中,你会获得立杆见影的成果。   1. 人远比技术重要   你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterpris

2008-06-01 21:56:00 405

原创 越俎代庖,做的两个页面。

设计备忘:1,本设计稿基于核心功能+web2.0概念,以用户为中心,满足公司战略同时,注重购物体验。2,本设计稿基于强大的用户中心,倾向于把首页信息尽可能组织到用户中心,让用户选择。3,本设计搞基于用户深度应用,对网站的内容组织有较高要求,要求系统提供良好的导航和帮助。4,本设计稿仅仅是理念,框架和表现的参考。不为需求分析服务。

2008-04-24 11:50:00 457

转载 需求的实践

在大规模的需求调研展开之前,有一个重要的工作要做。这项工作在项目中所占的时间跨度非常的小,但是却有非常重要的意义。不同的人、不同的方法对这项工作有不同的描述,在我们的文章中,根据UP的思想,称之为"业务建模"。所有的项目都有业务建模时期1. 业务建模是什么业务建模(Business Modeling),业务建模是一个复杂的过程,对其下一个准确的定义是困难的事情。在RUP的词汇表中将其解

2008-04-16 17:21:00 584

转载 领域模型驱动设计(DDD)之模型提炼

当Java世界提供的可选择性框架平台越来越多时,我们可能被平台架构所深深困扰,而无暇顾及软件的真正核心:业务建模,其实,业务领域建模同样是一个比平台架构更复杂,更需要学习的新的领域。  相反,在实践中,我们技术人员在经过冗长的平台架构学习和实践后,就匆忙开始项目开发,这时是什么指导他们进行软件业务实现呢?大部分可能是依赖数据库建模,甚至是复杂冗长的数据库存储过程设计,这些已经开始走向面向对象分

2008-04-16 17:18:00 786

原创 程序员印象

一般人总以为程序员只是代码的机器,整天写代码。其实这是对程序员一种片面的看法。程序员固然要精通代码的编写,但是程序员更要熟悉项目所在行业的业务。比如,搞门禁系统开发的人员必然要对门禁系统了解,搞自动控制的开发人员要熟悉制动控制原理,搞社保项目的,要对社会保障体系了解,搞统计系统开发的,必要然熟悉统计报表的流程。很多行业软件开发公司,比如专门针对银行系统的软件公司,他们招聘的程序员要求熟悉银行业

2008-04-16 16:26:00 1303

原创 软件需求的方法论(2)

降低需求分析的复杂度。为了解决项目进展缓慢的问题,尽早进入项目开发的实质阶段,在需求分析的时候,降低需求分析的复杂度成为了关键。如何降低需求分析的复杂度:1,提高抽象层次在软件开发中我们面对的一个主要问题是复杂度,降低复杂度对生产力有很大影响。在更高的抽象层次工作降低了复杂度并使交流变得容易。2,隔离功能实现把业务建模和功能实现分开来。在起初阶段,只考虑业务领域实体

2008-04-14 10:56:00 742

原创 软件需求的方法论(1)

一、从故事谈起    话说在上世纪50年代的一个人民公社的领导,找到我们软件公司的项目经理,说我们有一个项目由你来做吧。    项目经理:“yes sir,你的需求是什么?”    公社领导:我对公社养牛的家伙很不满意,他养的牛满足不了我们放卫星的要求,我想要一头吃的草比现在的牛少一半,干的活比现在的牛多一倍的新牛(像不像你们的BOSS); 我的需求很明确吧?    项目经理:是的是的;我现在可以

2008-04-11 14:09:00 1251

原创 java ArrayList排序

常常遇到数组排序的问题.比如我有一个Person类,它的实例对象存储在ArrayList数组中,现在要把ArrayList数组中的Person对象按照年龄排序.其实这种情况经常遇到.下面给出源代码:1:Person.java文件:-------------------------------public class Person{     String name;     int age;  

2008-04-08 10:22:00 500

原创 思想和设计模式

思想,从实践中来,到实践中去。设计模式是一种思想。设计模式来源于实践,如果某人对设计模式理解不好,学得吃力,那是因为,缺乏实践。那么,他的当务之急不是学习这些设计模式,而是,寻找机会去实践。 

2008-02-24 23:44:00 384

原创 语言基础是开发应用的基石

1,按位运算,有时候可以用来代替乘除运算,而且更高效。2,main方法的string[] agrs参数,接收的是命令行字符串。3,对象的克隆,实现标识接口Cloneable接口,重写Object类的clone(),对象才能克隆。对象克隆的作用是用在一个方法中,对象作为形参传递到一个方法,却不希望这个方法改变对象状态,就可以克隆一个对象传入此方法。4,基本数据类型传入一个方法,是传入一个

2008-02-24 12:46:00 457

原创 java的集合与数据结构

编程的核心数据结构和算法,某位高人如是说。确实,缺少对数据结构和算法的理解和应用,只能停止在编程的入门阶段。每个软件都会涉及到数据结构和算法,所以,各种开发平台的类库,会包装一些数据结构,不必再重新发明轮子。在java平台中,JDK为我们提供了一组集合类库——具有又各种特性的容器,用来的存储数据。其中有,array,connections,list,set和map。其中connections,

2008-02-24 12:41:00 729

原创 对自己的评估。

        我的优势和劣势都很明显,希望自己的优势能够战胜劣势,能够顺利进入一家满意的公司,开心的工作。说实话,2007以来,已经因为各种原因郁闷了好久了。虽然去年遭遇了一些不幸,值得欣慰的是,技术却进步了很多,一举看了30本左右技术方面的书籍,从javascript到xml,到oracle,到sql server,到java进阶,到设计模式,到j2ee核心模式,到uml,到数据库原理,到数据

2008-02-22 02:09:00 634

原创 xml和dataset

在。net框架中,xml和ADO。net关系非常密切。在dataset内部,数据被表示为xml,这一位着在计算机内存中,dataset是以xml格式,而不是一些抽象的数据模型存储的。所以察看xml数据的方式有两种,使用xml类直接查看或者间接地通过ado。ent进行查看,dataset只是提供的视图不同于xml。xmldatadocument之于xml,就像dataset之于ado。net,这

2008-02-21 02:52:00 535

原创 用存储过程实现分页显示

在存储过程里实现分页的逻辑,爽是爽,但造成与数据库耦合和压力,这是它最明显的缺点,但是,在某些情况,存储过程分页,依然是最有效的选择。一下是sql server中实现的代码。- File: dbo.SingleTablePager-- Date: 2007-09-29 AM 11:09-- Desc: 单表分页函数if exists(select * from sysobjects whe

2008-02-21 02:38:00 535

原创 如何获取msn的好友列表

在IM工具风靡的今天,网站获取msn,gtalk,qq等好友列表,从而得到他们的email,这多么帅的一件事情。尤其是在注册的时候,通过这种方法,让用户去邀请用户,对网站的推广,至关重要。另外,还可以,通过模拟登录,获取各大邮箱的联系人列表,这也是非常实用的技术。在本文中,暂时只论述C#如何获取msn好友列表。1,dotmsn组件.DotMSN是一款独立的开源类库,它不需要和官方的MS

2008-02-21 02:33:00 2215 1

原创 学习日记

1,页面状态:在asp.net中,页面对象的属性、页面控件的属性被称为“view state”(页面状态)。页面状态在asp.net中被受到特别关照.2:程序集,可以把程序集简单理解为你的.NET项目在编译后生成的*.exe或*.dll文件. 如果说命名空间是类库的逻辑组织形式,那么程序集就是类库的物理组织形式。只有同时指定类型所在的命名空间及实现该类型的程序集,才能完全限定该类型。(摘抄自《

2008-02-19 18:15:00 721

原创 一些工具的汇集

有时候,知道用什么工具或者API来处理实际问题,是开发中很重要的一步,高手在于见多识广,运用工很多窍门工具,阅读过很多Api。高手在实际工作遇到问题能做到手到擒来。HttpWatchieHTTPHeaders。xmppjabber

2008-02-19 15:03:00 370

原创 未来世界(12章)

1.春天得知春天君临天下雪,乖巧的收缩到山顶把平原留给阳光蓝天,在地平线上无限延展最后,搭在远处的山峦 2.河流 从高原上飘来湛蓝而明净经过青草地时朝天空的白云轻嘘一声惊起3只天鹅 3.小屋 在公路边的几棵树之间红墙白窗阳光下,主人在擦车上帝将这幅画卷装进蓝天绿地的镜框 4.诗歌在夜晚的9人聚会上人们分享烤肉晚风吹起了老者的赞美诗每个人都是诗人诗歌在生活里融化的像奶酪

2008-02-17 23:28:00 469

原创 北非碟影(又名:卡萨布兰卡,casablanca)

我是先听了那首低吟低唱无奈又充满毫无悔意的坚定的歌曲以后,才看《卡萨布兰卡》这部影片的,以前看了两次,一次只有上半集,一次字幕和语音没有同步。昨天晚上,我终于看到了完整的版本。 我还以为,看了《卡萨布兰卡》会像看了《乱世佳人》一样,我会由此而去思考很多问题。但是没有,因为,那个故事不是用来思考的,而是让人用心去感受——一个女人的无奈和一个男人的忧伤。 我理解艾莎的决定,在生活面前,

2008-02-17 22:42:00 896

原创 写给小时候放的牛

我昨天突然想起你了我为自己没有和你老先生联系道歉你现在去哪里了,过得还好吗? 那个时候我给你抓虱子看见一把好草也要拔喂你如果在山上没有放饱我回来就偷猪食喂你睡觉的时候我会担心你在牛栏里会不会冷那个时候你和别的牛打架流了鼻血或者角碰坏了,我悄悄为你心疼下午回家找不到你的时候我心急如焚还记不记得你吃了别人的油菜我打了你回到家爸爸打了我 那个时候我们一起度过很多时光你现在去哪里了现在通信这么发达也不向我

2008-02-17 22:41:00 324

原创 亲人

今天突然看到以前在msnspace上写的日志(2006/6/13)。时间虽然流逝,但亲人之间的爱却与日俱增。很多时候,我们会在陪伴自己的亲人与追求其他事情中做出抉择,而这时,我们往往会想,时间长的可以放一放,短的就要好好珍惜一下。就这样,我们浪费了很多美好的时光,后来回头一看,才发觉,和自己最亲爱的人,有好多事情还没有做。才发觉在一起时间太少,有很多话都没有说。 我现在和父母分开,每年才回去一

2008-02-17 22:28:00 350

原创 delegate是类型化了的函数指针,它主要应用于回调。

学习c++的对函数指针都不回陌生,它是一个保存了函数地址的变量,但除了地址,它没有包含任何额外的信息,如参数的个数、参数类型和函数的返回地址等,所以函数指针是非类型安全的。而delegate对回调提供了类型的安全性,从而使我们在处理回调等问题的时候可以更加优美的面向对象的方式来编写代码,并且在CLR的内部对delegate的操作提供了许多支持(如delegate链表),简化了我们常用的操作。 在使

2008-02-17 00:10:00 445

转载 什么才是软件开发的葵花宝典?

中国人大都喜欢用武侠小说来比较软件开发,但是在实战武功中,只有葵花宝典才是最厉害的,也只有掌握了葵花宝典,才能称为"不败"。 但什么才是软件开发的葵花宝典? 让我们先从一些现象出发。我们的前提是,软件开发是一项智力密集型劳动。对于智力密集型劳动,我们观察到的现象是,个体的表现差异很大,团队的表现差异很大,组织的表现差异很大,国家的表现差异很大。这不象体力占主要的劳动,象百米王跑百米的速度也仅比我快

2008-02-17 00:04:00 347

原创 开发的一点体会

1,尽量少的数据库连接,尽量少的数据库访问。2,尽量减少处理一次用户请求的时间。可以使用序列,即让用户的请求先加入序列(序列表不要加聚集索引,因为它经常执行插入和删除操作),用进行其他操作。由系统根据计算机环境择时执行。3,能让应用程序处理的任务,尽量让应用程序处理。因为数据库资源更加珍贵。4,尽量减少数据库和网站的垃圾数据,该清除的数据要顺手清楚,不然会影响网站的维护和运行速度。5,数据(库)结

2008-02-17 00:02:00 331

原创 进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。

进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。 

2008-02-17 00:01:00 448

转载 公文转发流程自定义的数据建模

开发比较复杂的企业多用户管理信息系统(MIS),不可能不涉及到系统内多个用户之间的数据文件的流转、审批等功能的开发。由于企业的需求总是随着时间推移不断发生变化,加之各个企业内部所设置的办公流程不尽相同,一套通用性比较好的管理信息系统应该能让系统管理员自己定义公文转发的流程。  尽管笔者没有机会在已参与开发了的MIS中实现出文件转发流程自定义的功能,但是,早在2002年初就曾深入思考过这方面的设计。

2008-02-16 23:54:00 388

原创 步行街的眼泪

星期天,雨后的傍晚,我和妹妹漫步在中国重庆观音桥步行街——中国著名的20大商业步行街之一。不远处是北京华联商场,再远处是远东百货,附近还有来自美国的星巴克麦当劳,意大利比萨和本土乡村基。此刻人流如注,音乐不绝于耳。重庆的夜景很美,何况这是雨后的夜幕时分。我们来到一处工商银行,妹妹准备取点钱,我在门外等她。当我把目光从银行里移到门口一侧,在工商银行威武的铜狮旁的角落里,一位年长的阿姨坐在那里,一手端

2008-02-16 23:44:00 1296

转载 面向接口编程(摘)

 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过

2008-02-16 23:43:00 392

原创 Java中堆和栈的区别

与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。       Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和 multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因

2008-02-16 23:41:00 301

原创 认识J2EE规范

J2EE实际上是一组规范(新手对规范这个词可能云里雾里的,没有办法,JAVA概念太多了,大部分概念慢慢就会理解),没错,J2EE这个概念并不是某种技术,而是一堆规范(实现意义上可以说是一堆技术)组成的,在老手的嘴里它是一堆概念。J2EE规范有的是标准的,有的不是标准的。标准的含义就是被SUN公司JDK体现与兼容,成为业界遵循的准则。比如,Servlet,当它成为标准规范以后,就会在JDK里得到支持

2008-02-16 18:06:00 486

原创 j2ee系统构架

很多时候,真理总是那样简洁,朴质,没有长篇大论。我在学习很多东西的时候,都希望找到一篇言简意赅的文章,能让我领悟这个领域的关键,至于细节,我可以借助GOOGLE和工具书完成。在j2ee系统构架领域,这正是本文希望做到的。J2EE是java在数据库和网络上的一种应用。j2ee系统构架的核心问题是进行逻辑分层,分层结构让系统松耦合。人们在这个领域的所有努力都是为了让软件易于开发,扩展和维护。目

2008-02-16 18:05:00 400

原创 虾米网建设的一些想法

虾米网,是用最新在交互上有优势的技术实现它的功能模块,从而组织建立的一个网络社区。社区是为人们提供居住和生活的场所,网络社区的目的同样是为用户提供网络生活的场所。虾米网入住的主要群体定位为中学生和大学生。这是一群充满活力的人,他们热爱娱乐。我们的目的是为他们提供舒适的,健康的网络社区生活。      现实世界里社区有,一般公寓式社区,花园式社区和宫殿式社区。一般公寓式社区居住着整天工作,养家糊

2008-02-16 18:03:00 551

空空如也

空空如也

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

TA关注的人

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