- 博客(40)
- 资源 (2)
- 收藏
- 关注
转载 EJB、DCOM、CORBA 三种技术分析
---- 90年代出现的分布式对象技术为网络计算平台上软件的开发提供了强有力的解决方案。目前,分布式对象技术已经成为建立服务应用框架和软件构件的核心技术,在开发大型分布式应用系统中表现出强大的生命力,逐渐形成了3种具有代表性的主流技术,即Microsoft的COM/DCOM技术、Sun公司的Java技术和OMG的COBRA技术。本期访谈,中国科学院软件研究所对象技术研究开发中心李京主任将带我们一起
2014-10-10 10:32:16
5635
转载 Eclipse无提示的解决办法
Eclipse 快捷键 总是提示“No Default Proposals”一直以来都是使用eclipse开发的,今天突然出现智能提示不行了 按下快捷键"CTRL+/"老是出现“No Default Proposals”,通过谷歌搜索终于解决问题啦!先把解决问题方法告诉大家啦!Window -> Preferences -> Java -> Editor -> Content Assi
2014-03-21 19:51:07
2539
1
原创 北京神龙京津4S店强买强卖欺诈消费者
北京雪铁龙4S店串通一伙,强买强卖,欺诈消费者 汽车4S店给人第一个感觉是质量有保证,不会欺诈消费者,讲诚信的地方,但通过这次购车过程,我可以负责任地说,在买卖面前,4S店只会想方设法诈取消费者的钱财,什么诚信,公德,信誉都是浮云,这些所谓的4S店根本就不看重这些,在他们眼里只有钱。因为他们很牛,他们会说:“我们这十几年的老店,根本就不在呼损失这点声誉”。4S店销售五宗罪:一、
2013-07-30 16:44:06
4625
原创 swing应用开发注意事项
如何编写响应速度快的Swing 应用程序,应注意以下两点:1。Time-consuming tasks should not be run on the Event Dispatch Thread. Otherwise the application becomes unresponsive。 耗时任务不要放到事件调度线程(EVENT DISPATCH THREAD)上执行,否则
2013-04-20 14:07:18
659
转载 ActiveX Support In SWT
Summary OLE Documents, such as Word, Excel or PowerPoint, and ActiveX Controls such as Internet Explorer are COM objects that can be embedded into other applications running on a Microsoft® Windows®
2013-04-18 17:50:08
826
转载 JSpinner 输入控制
使用SpinnerNumberModel,虽然设置了min,max,但是还是可以输入超出范围的数值,还可以输入字母,这些都应该是屏蔽掉的。采用了下面的方法来解决: JSpinner spinner = new JSpinner(new SpinnerNumberModel(value, min, max, 1)); spinner.setBounds(x,y,width,hei
2013-04-15 17:28:32
2322
转载 A cycle was detected in the build path of project
解决Eclipse中Java工程间循环引用而报错的问题 如果我们的项目包含多个工程(project),而它们之间又是循环引用的关系,那么Eclipse在编译时会抛出如下一个错误信息: “A cycle was detected in the build path of project: XXX” 解决方法非常简单: Eclipse Menu -> Window -> Prefere
2013-02-01 11:24:09
344
原创 组合模式使用因素
组合模式:将对象组合成树形结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。组合模式中需要一个抽象类,来定义单个对象和组合对象的方法接口,是一个大而全的接口,这违背了SRP原则。因此,从这可以看出组合模式使用的前提:即单个对象与组合对象要具有相似性(行为相似性,LSP)。而部分和整体呈现层次结构是一个必要条件。
2012-07-30 10:45:04
570
原创 桥接模式与装饰者模式的区别
桥接模式的定义是将抽象化与实现化分离(用组合的方式而不是继承的方式),使得两者可以独立变化。可以减少派生类的增长。这样看起来和装饰者差不多,但两者还是有一些比较重要的区别:1。桥接模式中所说的分离,其实是指将结构与实现分离(当结构和实现有可能发生变化时)或属性与基于属性的行为进行分离;而装饰者只是对基于属性的行为进行封闭成独立的类。2。桥接中的行为是横向的行为,行为彼此之间无关联;而装饰者
2012-07-28 15:42:36
8291
3
原创 Decorator 装饰者模式
适合在运行时动态给对象扩展职责。注意是扩展职责(也策略模式不太一样),也就是说被装饰对象本身已具备一些基础的,核心的职责,而装饰对象是在被装饰对象提供的职责基础上给被装饰对象提供职责的扩展。 意图:动态的给对象添加额外的职责。比使用继承关系扩展功能更具有灵活性,其扩展性更好。设计原则:OCP,多用组合少用继承结构: 要点:1. 装饰者与被装饰者必需有相同的
2012-06-07 11:42:54
491
原创 GRASP 通用职责分配软件模式
GRASP:General Responsibility Assignment Software Patterns 通用职责分配软件模式。首先我们先来区分下GRASP与GOF模式的区别,它们主要在什么时候用,用来做什么。在软件开发过程中,我们常说面向对象开发,面向对象思想应该贯穿整个软件开发生命周期。我们在将现实世界中的业务对象及业务功能抽象成软件系统中的系统对象过程中应该遵循使用GRASP模
2012-06-07 10:17:03
903
原创 js使用心得
对于WEB客户端开发而言,现在越来越多的使用JavaScript脚本来实现一些业务逻辑,即所谓的RIA应用,我们可以把JS文件理解成JSP文件的逻辑实现,JSP文件作为界面显示.以下是一些JS开发中常用的一些方法:1.窗口调用模态:window.showModalDialog();非模态:window.showModelessDialog();window.open();2.窗口调用时窗体间的参数传递调用窗口传递参数window.showModalDialog("目标URL",参数名,"其他特性");--
2011-04-06 15:40:00
526
原创 RUP=需求开发+OO
RUP与软件开发的关系从RUP的最佳实践中可以发现,其中的内容都是与需求开发及OO设计相关:需求开发:需求管理(RUP),以用例驱动,对需求划分优先级进行迭代式的开发(RUP),另外需求不是一层不变的会发生变更,因此需要注意需求的变更管理(RUP)。最后对软件的质量进行验证;OO:可视化建模,以模型驱动开发,以架构为中心
2011-02-22 11:07:00
679
原创 什么是软件需求
<br />需求对于搞软件行业的人都不会感到陌生,我们经常会看到这些术语,如:软件需求,系统需求,业务需求,用户需求,功能需求,非功能性需求等等.这么多术语,需求到底是什么,我们有没有一个清晰的认识,有没有一个标准.对于上述这些术语,相信很多人也会有困惑,分不清之间的异同.现在我来说说我对需求的认识.<br /><br />需求应从两个角度去看:<br />一。站在开发人员的角度,从内部看;<br />软件需求(系统需求)可分为:1。功能性需求;2。非功能性需求(质量属性和约束规则)。平时我们经常提到的软件
2011-01-11 09:21:00
1276
原创 抽象类与接口的异同
<br />认识抽象类与接口的异同,从语法使用及设计层面两方面来比较:<br />区别:<br />语法实现<br />1。实现方式:接口中必须都是抽象方法;抽象类中可以有普通方法<br />2。继承方式:接口,多继承;抽象类:单一继承<br />3。一个类可以实现多个接口,但只能继承一个抽象类。<br />设计层面<br />1. 抽象类是继承关系(is-a);接口是服务(have-a),是表示提供的关系<br />2. 抽象类继承关系,强耦和;而接口松耦和<br />3. 抽象类可以实现代码重用,而接口
2010-10-12 13:46:00
825
原创 variant or safe array is locked解决方法
<br />variant or safe array is locked问题是由于midas.dll的版本引起的,更换midas.dll文件到SYSTEM32目录即可.
2010-09-30 09:42:00
16800
1
原创 项目过程管理
项目管理中分五大过程组:启动过程组;规划过程组;执行过程组;监控过程组;收尾过程组。项目管理的9大知识领域:整体管理,范围管理,进度管理,资金管理,质量管理,资源管理,沟通管理,采购管理,风险管理。RUP分四个阶段:起始阶段,精化阶段,构造阶段,移交阶段。1.过程组与知识领域的关系五大管理过程组是从项目管理过程中涉及到的所有活动来划分的,每一个活动都会属于某一个过程组;而9大知识领域是按照项目管理过程中所涉及到的业务领域来划分的。两都划分的角度不一样。即要对哪些方面进行管理(知识领域),如何管理(过程组)。
2010-09-30 09:41:00
819
原创 项目过程组与项目阶段的区别
项目管理中分五大过程组:启动过程组;规划过程组;执行过程组;监控过程组;收尾过程组。项目管理的9大知识领域:整体管理,范围管理,进度管理,资金管理,质量管理,资源管理,沟通管理,采购管理,风险管理。RUP分四个阶段:起始阶段,精化阶段,构造阶段,移交阶段。 1.过程组与知识领域的关系五大管理过程组是从项目管理过程中涉及到的所有活动来划分的,每一个活动都会属于某一个过程组;而9大
2010-03-29 15:19:00
10928
原创 开放封闭原则(OCP,Open Closed Principle)
开放封闭原则(OCP,Open Closed Principle)是所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化、降低耦合,而开放封闭原则正是对这一目标的最直接体现。其他的设计原则,很多时候是为实现这一目标服务的,例如以Liskov替换原则实现最佳的、正确的继承层次,就能保证不会违反开放封闭原则。 关于开放封闭原则,其核心的思想是: 软件实体应该是可扩展,而不可修改的。也就是说
2010-03-20 11:25:00
720
转载 Delphi与Java用法区别
一、运算符二、语句三、其他 字符串处理 DELPHI var s: string; // 变量身明 s := s + a string; // 字符串表达,赋值 JAVA (普通用法) String s = new String(); s += "a string"; 或 s = s + "a strin
2010-03-20 10:08:00
4533
转载 AOP概念及术语
====关注点(Concern)====关注点就是我们要考察或解决的问题。如订单的处理,用户的验证、用户日志记录等都属于关注点。 关注点中的核心关注点(Core Concerns),是指系统中的核心功能,即真正的商业逻辑。如在一个电子商务系统中,订单处理、客户管理、库存及物流管理都是属于系统中的核心关注点。 还有一种关注点叫横切关注点 (Crosscutting Concerns),他们分散在每个
2010-01-04 11:44:00
817
原创 [转帖]了解AOP
面向对象技术很好地解决了软件系统中角色划分的问题。借助于面向对象的分析、设计和实现技术,开发者可以将问题领域的“名词”转换成软件系统中的对象,从而很自然地完成从问题到软件的转换.但是,问题领域的某些需求却偏偏不是用这样的“名词”来描述的.我的一个朋友就曾经遇到这样的问题:需要对系统中的某些方法进行日志记录,这种需要记录方法散布在40多个类中。面对这种需求,应该怎么办呢?最直接的办法就是:创建一个起
2010-01-04 11:13:00
355
原创 LSP(里氏替换原则)
Liskov于1987年提出了一个关于继承的原则“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.——继承必须确保超类所拥有的性质在子类中仍然成立。”也就是说,当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系。
2009-11-16 15:15:00
410
原创 CARP(Composition/Aggregation Reuse Principle)合成/聚合复用原则
Favor Composition over Inheritance,优先使用对象合成/聚合关系,而不是使用类继承,这样能降低对象间的耦合关系,从而减少对象间的依赖关系。实现:对象适配器模式,桥接模式。
2009-11-09 15:41:00
922
原创 ISP( Interface Segregation Principle)接口隔离原则
ISP:Clients should not be forced to depend upon methods that they do not use 客户不应该面对依赖于它们不用的方法。使用多个专门的接口比使用单一的总接口要好;从一个客户类的角度来讲,一个类对另外一个类的依赖性应当是建立在最小的接口上的。按功能需求对接口进行划分.
2009-11-09 15:16:00
663
原创 OCP原则
开-闭原则(Open-Closed Principle,简称OCP)。 Software entities should be open for extension,but closed for modification.设计要对扩展(需求的变化扩展)有好的支持,而对修改要严格限制。也就是说模块应对扩展开放,而对修改关闭。模块应尽量在不修改现有代码的情况下进行扩展。就是说我们开
2009-11-09 14:08:00
1124
转载 核心库类之TGraphicControl/TcustomControl 与画布(Canvas)
1.TGraphicControl/TcustomControl 与画布(Canvas) VCL中,TCotnrol之下的组件分两条路各行其道。一条为图形组件,这类组件并非窗口,职责只在于显示图形、图像,其基类是TGraphicControl;另一条为窗口组件,这类组件本身是一个Windows窗口(有窗口句柄),其基类是TWinControl。 TGraphicControl作为显示图
2009-10-10 11:07:00
2534
1
转载 Model Driven Architecture 模型驱动架构
Model Driven Architecture 模型驱动架构 为了实现MDA这一宏大构想,OMG(Object Management Group 国际对象管理集团)制定了一系列的标准: UML:UML被MDA用来描述各种模型。它并不是为MDA而生,但是作为目前最为风行的建模语言,UML已经占据了全球建模语言领域90%的市场份额,成为了建模语言事实上的标准,因此OMG将
2009-06-17 15:20:00
1616
原创 将midas.dll编译到程序中,避免Midas.dll与程序一起发布
在使用ClientDataset进行数据库应用程序开发时,发布时经常需要将Midas.dll也发布到客户的机器,但在DELPHI7提供了将Midas.dll编译到程序中的办法,可以避免发布MIDAS.DLL,方法是在每个PAS文件中,USE上MidasLib单元即可,此文件位于/Borland/Delphi7/Lib目录中.
2009-06-07 21:09:00
3154
转载 转贴:EhLib使用全攻略
KeyLife富翁笔记 作者: archonwang标题: Ehlib 的使用 关键字: 前 言 分类: 个人专区 密级: 公开 (评分:★★★ , 回复: 10, 阅读: 4649) »» 最近闲来无事,就装了一个 Ehlib 来玩。呵呵,没想到,这么个小东西一下子就把我迷住了,细细品来,的确是一个非常好的控件作品。作者厉害厉害啊~~ 2003
2009-06-04 13:11:00
2395
转载 业务逻辑层的模式
Martin Fowler在《企业应用架构模式》一书中对领域层(即业务逻辑层)的架构模式作了整体概括,他将业务逻辑设计分为三种主要的模式:Transaction Script、Domain Model和Table Module。Transaction Script模式将业务逻辑看作是一个个过程,是比较典型的面向过程开发模式。应用Transaction Script模式可以不需要数据访问层,而是
2007-03-29 11:08:00
1139
转载 IoC模式的类型及其实现 选择自 WonderOne 的 Blog
1引言 面向对象的思想已经深入人心,但是要利用面向对象的思想开发出优秀的应用程序却不是一件容易的事情。正是基于面向对象的思想,人们对各种应用程序进行了大量的分析、总结、归纳出了设计模式。Alexanders给出模式的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需再重复相同的工作
2007-03-29 10:43:00
586
转载 SQLServer中CASE语句在ORACLE中的实现
如下:SELECT LogID,UserID,LogTime,Url,Description,(case OperateType when OperateType = 0 then 新增 when OperateType=1 then 修改 else 删除 end case) FROM LOG ????1. caseSELECT LogID,UserID,LogTime,Url,D
2007-03-20 16:42:00
844
转载 三层开发中String与WideString的转换
文章来源:http://blog.csdn.net/yjswjm119/archive/2006/02/18/601807.aspx// 功能:将 WideString 转换成 Stringfunction ChWideToAnsi(const StrW: WideString): AnsiString;var nLen: integer;begin Result := StrW; if
2007-01-18 16:48:00
2763
原创 Oracle中的LOB类型处理
用delphi开发Oracle应用程序,对于Oracle中的LOB类型会遇到一些问题,总结如下:1。Oracle中的LOB类型包括:BLOB,CLOB,NCLOB,LONG,LONG RAW几种类型。2。用微软的ORACLE驱动,好象不支持BLOB类型,但用ORACLE的OLE驱动可以,但ORACLE的驱动对分布式事务不支持。因此用MS的驱动,支持LONG RAW类型。(DbExpress
2007-01-11 17:01:00
1212
原创 TDataSetProvider用法
TDataSetProvider的ResolveToDataSet属性决定了数据集的更新方式。ResolveToDataSet为False时,是由 TSQLResolver类自动生成更新语句,直接更新到数据库。而当其值为True,是由TDataSetProvider所指定的TDataset类型控件产生更新数据的SQL语句,并更新到数据库.OnUpdateError事件 = procedure(
2007-01-09 16:34:00
5983
转载 COM+分布事务处理(选择自 ccBoy)
事务何时开始又何时结束了解事务的开始和结束的过程可以使我们从一个事务边界里考察每个参与对象的行为和事务的边界情况。COM+何时开始一个事务?在下面两种情况下COM+将自动开始一个事务:1. 当一个非事务属性的Client调用了一个标识有需要或需要新事务的COM+组件2. 当一个有事务属性的Client调用了一个标识有需要新事务的COM+组件 当COM+确
2006-12-30 16:26:00
1328
原创 delphi开发COM+,Oracle程序错误解决方法
开发环境:delphi7+Oracle9.2.0.1系统环境:Windows20001.Oracle9.i支持MSDTC最好把COM+应用与Oracle 数据库服务器安装在不同的机器上。COM+应用服务器安装步骤:1.Windows2000; 2.Oracle9.i客户端; 3.net 4.MDAC2.8 2.修改COM+服务器的注册表。Oracle服务器要执行/o
2006-12-30 11:31:00
956
原创 COM学习笔记
首先了解以下几个概念:组件就是对象(或者说是类),它与类的区别就在于类是以源码形式存在的;而组件是以二进制可执行码存在的。组件模型:定义组件的制作方法,运行方式,以及相互作用机制。COM是一个基于面向对象的组件模型,不是一种面向对象语言,它也不指定一个应用程序如何构造,它是一种标准,(除了指定二进制组件标准,COM还定义一些基本的接口以提供一些所有基于COM组件的技术所公有的函数。此外
2006-10-20 11:51:00
774
原创 servlet层次结构
public interface ServletServlet 接口定义了所有servlets都必须实现的方法.要实现一个Servlet接口,可以从抽象类javax.servlet.GenericServlet或javax.servlet.http.HttpServlet 进行继承public abstract class GenericServletextends java.lang.Obj
2006-04-21 11:26:00
1982
领域驱动设计中的实现方式
2009-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人