经验技巧
leonshine
这个作者很懒,什么都没留下…
展开
-
进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。
进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。原创 2008-02-17 00:01:00 · 448 阅读 · 0 评论 -
对自己的评估。
我的优势和劣势都很明显,希望自己的优势能够战胜劣势,能够顺利进入一家满意的公司,开心的工作。说实话,2007以来,已经因为各种原因郁闷了好久了。虽然去年遭遇了一些不幸,值得欣慰的是,技术却进步了很多,一举看了30本左右技术方面的书籍,从javascript到xml,到oracle,到sql server,到java进阶,到设计模式,到j2ee核心模式,到uml,到数据库原理,到数据原创 2008-02-22 02:09:00 · 634 阅读 · 0 评论 -
java的集合与数据结构
编程的核心数据结构和算法,某位高人如是说。确实,缺少对数据结构和算法的理解和应用,只能停止在编程的入门阶段。每个软件都会涉及到数据结构和算法,所以,各种开发平台的类库,会包装一些数据结构,不必再重新发明轮子。在java平台中,JDK为我们提供了一组集合类库——具有又各种特性的容器,用来的存储数据。其中有,array,connections,list,set和map。其中connections,原创 2008-02-24 12:41:00 · 729 阅读 · 0 评论 -
java ArrayList排序
常常遇到数组排序的问题.比如我有一个Person类,它的实例对象存储在ArrayList数组中,现在要把ArrayList数组中的Person对象按照年龄排序.其实这种情况经常遇到.下面给出源代码:1:Person.java文件:-------------------------------public class Person{ String name; int age;原创 2008-04-08 10:22:00 · 500 阅读 · 0 评论 -
软件需求的方法论(1)
一、从故事谈起 话说在上世纪50年代的一个人民公社的领导,找到我们软件公司的项目经理,说我们有一个项目由你来做吧。 项目经理:“yes sir,你的需求是什么?” 公社领导:我对公社养牛的家伙很不满意,他养的牛满足不了我们放卫星的要求,我想要一头吃的草比现在的牛少一半,干的活比现在的牛多一倍的新牛(像不像你们的BOSS); 我的需求很明确吧? 项目经理:是的是的;我现在可以原创 2008-04-11 14:09:00 · 1251 阅读 · 0 评论 -
软件需求的方法论(2)
降低需求分析的复杂度。为了解决项目进展缓慢的问题,尽早进入项目开发的实质阶段,在需求分析的时候,降低需求分析的复杂度成为了关键。如何降低需求分析的复杂度:1,提高抽象层次在软件开发中我们面对的一个主要问题是复杂度,降低复杂度对生产力有很大影响。在更高的抽象层次工作降低了复杂度并使交流变得容易。2,隔离功能实现把业务建模和功能实现分开来。在起初阶段,只考虑业务领域实体原创 2008-04-14 10:56:00 · 742 阅读 · 0 评论 -
程序员印象
一般人总以为程序员只是代码的机器,整天写代码。其实这是对程序员一种片面的看法。程序员固然要精通代码的编写,但是程序员更要熟悉项目所在行业的业务。比如,搞门禁系统开发的人员必然要对门禁系统了解,搞自动控制的开发人员要熟悉制动控制原理,搞社保项目的,要对社会保障体系了解,搞统计系统开发的,必要然熟悉统计报表的流程。很多行业软件开发公司,比如专门针对银行系统的软件公司,他们招聘的程序员要求熟悉银行业原创 2008-04-16 16:26:00 · 1303 阅读 · 0 评论 -
领域模型驱动设计(DDD)之模型提炼
当Java世界提供的可选择性框架平台越来越多时,我们可能被平台架构所深深困扰,而无暇顾及软件的真正核心:业务建模,其实,业务领域建模同样是一个比平台架构更复杂,更需要学习的新的领域。 相反,在实践中,我们技术人员在经过冗长的平台架构学习和实践后,就匆忙开始项目开发,这时是什么指导他们进行软件业务实现呢?大部分可能是依赖数据库建模,甚至是复杂冗长的数据库存储过程设计,这些已经开始走向面向对象分转载 2008-04-16 17:18:00 · 786 阅读 · 0 评论 -
需求的实践
在大规模的需求调研展开之前,有一个重要的工作要做。这项工作在项目中所占的时间跨度非常的小,但是却有非常重要的意义。不同的人、不同的方法对这项工作有不同的描述,在我们的文章中,根据UP的思想,称之为"业务建模"。所有的项目都有业务建模时期1. 业务建模是什么业务建模(Business Modeling),业务建模是一个复杂的过程,对其下一个准确的定义是困难的事情。在RUP的词汇表中将其解转载 2008-04-16 17:21:00 · 584 阅读 · 0 评论 -
越俎代庖,做的两个页面。
设计备忘:1,本设计稿基于核心功能+web2.0概念,以用户为中心,满足公司战略同时,注重购物体验。2,本设计稿基于强大的用户中心,倾向于把首页信息尽可能组织到用户中心,让用户选择。3,本设计搞基于用户深度应用,对网站的内容组织有较高要求,要求系统提供良好的导航和帮助。4,本设计稿仅仅是理念,框架和表现的参考。不为需求分析服务。原创 2008-04-24 11:50:00 · 457 阅读 · 0 评论 -
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 阅读 · 0 评论 -
一些工具的汇集
有时候,知道用什么工具或者API来处理实际问题,是开发中很重要的一步,高手在于见多识广,运用工很多窍门工具,阅读过很多Api。高手在实际工作遇到问题能做到手到擒来。HttpWatchieHTTPHeaders。xmppjabber原创 2008-02-19 15:03:00 · 370 阅读 · 0 评论 -
j2ee系统构架
很多时候,真理总是那样简洁,朴质,没有长篇大论。我在学习很多东西的时候,都希望找到一篇言简意赅的文章,能让我领悟这个领域的关键,至于细节,我可以借助GOOGLE和工具书完成。在j2ee系统构架领域,这正是本文希望做到的。J2EE是java在数据库和网络上的一种应用。j2ee系统构架的核心问题是进行逻辑分层,分层结构让系统松耦合。人们在这个领域的所有努力都是为了让软件易于开发,扩展和维护。目原创 2008-02-16 18:05:00 · 400 阅读 · 0 评论 -
开发的一点体会
1,尽量少的数据库连接,尽量少的数据库访问。2,尽量减少处理一次用户请求的时间。可以使用序列,即让用户的请求先加入序列(序列表不要加聚集索引,因为它经常执行插入和删除操作),用进行其他操作。由系统根据计算机环境择时执行。3,能让应用程序处理的任务,尽量让应用程序处理。因为数据库资源更加珍贵。4,尽量减少数据库和网站的垃圾数据,该清除的数据要顺手清楚,不然会影响网站的维护和运行速度。5,数据(库)结原创 2008-02-17 00:02:00 · 332 阅读 · 0 评论 -
delegate是类型化了的函数指针,它主要应用于回调。
学习c++的对函数指针都不回陌生,它是一个保存了函数地址的变量,但除了地址,它没有包含任何额外的信息,如参数的个数、参数类型和函数的返回地址等,所以函数指针是非类型安全的。而delegate对回调提供了类型的安全性,从而使我们在处理回调等问题的时候可以更加优美的面向对象的方式来编写代码,并且在CLR的内部对delegate的操作提供了许多支持(如delegate链表),简化了我们常用的操作。 在使原创 2008-02-17 00:10:00 · 445 阅读 · 0 评论 -
公文转发流程自定义的数据建模
开发比较复杂的企业多用户管理信息系统(MIS),不可能不涉及到系统内多个用户之间的数据文件的流转、审批等功能的开发。由于企业的需求总是随着时间推移不断发生变化,加之各个企业内部所设置的办公流程不尽相同,一套通用性比较好的管理信息系统应该能让系统管理员自己定义公文转发的流程。 尽管笔者没有机会在已参与开发了的MIS中实现出文件转发流程自定义的功能,但是,早在2002年初就曾深入思考过这方面的设计。转载 2008-02-16 23:54:00 · 389 阅读 · 0 评论 -
什么才是软件开发的葵花宝典?
中国人大都喜欢用武侠小说来比较软件开发,但是在实战武功中,只有葵花宝典才是最厉害的,也只有掌握了葵花宝典,才能称为"不败"。 但什么才是软件开发的葵花宝典? 让我们先从一些现象出发。我们的前提是,软件开发是一项智力密集型劳动。对于智力密集型劳动,我们观察到的现象是,个体的表现差异很大,团队的表现差异很大,组织的表现差异很大,国家的表现差异很大。这不象体力占主要的劳动,象百米王跑百米的速度也仅比我快转载 2008-02-17 00:04:00 · 348 阅读 · 0 评论 -
学习日记
1,页面状态:在asp.net中,页面对象的属性、页面控件的属性被称为“view state”(页面状态)。页面状态在asp.net中被受到特别关照.2:程序集,可以把程序集简单理解为你的.NET项目在编译后生成的*.exe或*.dll文件. 如果说命名空间是类库的逻辑组织形式,那么程序集就是类库的物理组织形式。只有同时指定类型所在的命名空间及实现该类型的程序集,才能完全限定该类型。(摘抄自《原创 2008-02-19 18:15:00 · 721 阅读 · 0 评论 -
如何获取msn的好友列表
在IM工具风靡的今天,网站获取msn,gtalk,qq等好友列表,从而得到他们的email,这多么帅的一件事情。尤其是在注册的时候,通过这种方法,让用户去邀请用户,对网站的推广,至关重要。另外,还可以,通过模拟登录,获取各大邮箱的联系人列表,这也是非常实用的技术。在本文中,暂时只论述C#如何获取msn好友列表。1,dotmsn组件.DotMSN是一款独立的开源类库,它不需要和官方的MS原创 2008-02-21 02:33:00 · 2215 阅读 · 1 评论 -
用存储过程实现分页显示
在存储过程里实现分页的逻辑,爽是爽,但造成与数据库耦合和压力,这是它最明显的缺点,但是,在某些情况,存储过程分页,依然是最有效的选择。一下是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 阅读 · 0 评论 -
语言基础是开发应用的基石
1,按位运算,有时候可以用来代替乘除运算,而且更高效。2,main方法的string[] agrs参数,接收的是命令行字符串。3,对象的克隆,实现标识接口Cloneable接口,重写Object类的clone(),对象才能克隆。对象克隆的作用是用在一个方法中,对象作为形参传递到一个方法,却不希望这个方法改变对象状态,就可以克隆一个对象传入此方法。4,基本数据类型传入一个方法,是传入一个原创 2008-02-24 12:46:00 · 458 阅读 · 0 评论