剑花 烟雨

   江南  好 风景旧曾谙 日出江花红胜火 春来江水绿如蓝 能不忆东北

理想中的建筑师应该是一个诗人、数学家、精通历史、精通心理学、熟悉音乐、了解医学、还要具备天文学和计算的基本知识。
                                                                                                                         ------------------公元前25年,罗马建筑学家Vitruvius
posts - 136, comments - 296, trackbacks - 3, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

01 2008 档案

摘要: 使用VS 2005开发的朋友应该都知道,编译一个很多页面的网站工程是很费时间的,那有没有什么办法可以提高编译速度呢?
答案是肯定的,请按照以下的优化步骤来做,包你以后不会再为编译网站而感到痛苦。

优化步骤:

1. 删掉bin目录下的所有.dll.refresh文件。注意:删掉之后,你通过文件路径引用的dll,VS 2005将不会帮你自动更新到bin目录里。也就是说如果你引用的dll更新了,你必须自己手动重新引用一次。


2.

最好把/app_code 目录的.cs文件移到一个dll工程中。因为编译个dll工程会比编译网站工程里/app_code目录里.cs文件要快,而且移走/app_code里的.cs文件还会提高.aspx页面中设计试图和代码试图的切换速度。
3.

打开网站工程的属性页,选择"Build” Tab页,把"Before running startup page"下拉框由"Build W阅读全文

posted @ 2008-01-25 20:17 落花人独立 阅读(1433) | 评论 (0) 编辑 |

摘要: 以下是我对HTC相关网页的整理,对于原内容进行了编辑:
1.简介一
.NET里面的TREEVIEW控件是采用HTC制作的。

HTC (HTML Component)

HTML组件

HTC就是基于脚本的面向对象编程技术。要有Javascript和Html的基础。而其中DOM 文档对象模型将会在HTC中成为主要的应用点。

采用HTC,服务端程序不用再考虑样式之类的问题,所有的样式都可以在HTC中进行设置,服务端只需要装填数据,然后HTC根据设置的属性来显示出想要的效果。在做一个TreeView控件的时候,甚至把递归都写在了HTC里面,服务端只是把数据取出来而已。

另外的好处是复用,大家采用统一的HTC控件,带来了风格的一致,同时节省了大量的编码时间,很多不懂Javascript的程序员也能非常容易的使用。

下面是学习阅读全文

posted @ 2008-01-21 22:18 落花人独立 阅读(778) | 评论 (2) 编辑 |

摘要: Overview

I've recently implemented an enterprise application using NHibernate. In order to isolate the UI from changes to the domain model, the Data Transfer Object pattern (Fowler 03, MS) was decided upon. This gave us the additional benefit of being able to create our Dto's in such a way as that they would be easily bound to the UI, reducing complexity in the front end and giving us the ability to support different UI's with minimal effort.

The application architecture is s阅读全文

posted @ 2008-01-21 19:29 落花人独立 阅读(465) | 评论 (0) 编辑 |

摘要: J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋友会会心一笑)。

首先声明偶也不是什么高手,以下总结都是自己的体会。不对之处请您多指教。

PO:
persistant object持久对象

最形象的理解就是一个PO就是数据库中的一条记录。
好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。


BO:
business object业务对象

主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
比如一个简历,有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
建立一个对应简历的BO对象处理简历,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。

阅读全文

posted @ 2008-01-21 19:11 落花人独立 阅读(2197) | 评论 (3) 编辑 |

摘要: 层间数据传输的过程就是服务的执行者将数据返回给服务的调用者的过程。在非分布式系统中由于有类似Open session in view这样的“怪胎解决方案”的存在,所以层间数据传输的问题并没有充分暴露出来,但是在分布式系统中我们就能清楚地意识到层间数据传输的问题,从而能够更合理的进行设计。为了暴露更多问题,本章讨论的层间数据传输假定的场景是“服务器将执行的数据结果如何传递给远程客户端”,尽管在实际场景中服务的提供者和服务的调用者有可能处于同一虚拟机中(比如Web端与应用服务部署在同一服务器中)。
10.1 什么是DTO

在分布式系统中,客户端和服务器端交互有两种情形:第一个是客户端从服务器端读取数据;第二个是客户端将本身的数据传递给服务器端。

当有客户端要向服务器端传输大量数据的时候,可以通过一个包含要传输的所有数据的方法调用来完成。这在小数据量的时候缺点并不明显,但是如果要传递包含有大量信息的数据的时候,这将变得难以忍受。下面的方法是任何人看了都会害怕的:

public void save(String i阅读全文

posted @ 2008-01-21 18:55 落花人独立 阅读(2501) | 评论 (0) 编辑 |

摘要:


Using NHibernate and Log4Net in ASP.NET 2.0 applications
Introduction

Hibernate and Log4J are a de-facto standard of ORM (Object-relational mapping) and logging (respectively) in Java world. That's why both were ported to .NET runtime environment.

NHibernate is ORM solution and is intended for transparent binding .NET classes to database tables. NHibernate was designed to reduce time efforts to switch application to another database provider. It is achieved 阅读全文

posted @ 2008-01-21 15:58 落花人独立 阅读(1431) | 评论 (0) 编辑 |

摘要: 以下是整理的网上的关于Excel编程的几个帖子的内容:

1.Excel 编程模型的说明

framework.JPG

在这里 ,就大概描述了在Excel 编程中常用的对象的层次关系。

Excel Application 代表整个 Microsoft Excel 应用程序,

WorkBook 代表 Microsoft Excel 工作簿

Range 代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域。

Areas 选定区域内的子区域或连续单元格块的集合。

Borders 代表对象的边框。

Characters 代表包含文本的对象中的字符。可用 Characters对象修改包含在完整文本字符串中的任意字符序列。
阅读全文

posted @ 2008-01-21 14:31 落花人独立 阅读(1148) | 评论 (2) 编辑 |

摘要: 一、在Vs 2005中,Asp.net添加对于Excel的COM组件的引用的时候会在web.config中生成对于库的引用,但是在Bin文件夹中却找不到相应的库文件。导致编译程序的时候会出现错误。在网上找了找,解决办法如下:
1. 删除原来对Excel的引用,从Web.config中
2. 在visual Studio 2005命令提示工具中,定位到Excel安装目录,运行“TlbImp EXCEL.EXE”命令,把Excel.exe编译为Excel.dll。这一步会在你的机器上面的安装Office的目录下面的Office11 (office2003)目录下生成Excell.dll,所以在引用的时候要到这个目录下面来找Excel.dll。
3.引用刚编译好的Excel.dll。如果有原来对于Microsoft.Office.Interop.Excel的引用,就把它删除。只要在Bin文件夹中存在Excel.dll就行了。
二、对于Excel操作中的方法和属性的修改
Excel.Range range;阅读全文

posted @ 2008-01-21 11:26 落花人独立 阅读(1611) | 评论 (0) 编辑 |

摘要: https是什么?

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 .

它是由 Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。。

https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL。

它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在阅读全文

posted @ 2008-01-18 20:55 落花人独立 阅读(22415) | 评论 (5) 编辑 |

摘要: 1. 用户必须在几秒钟知道网站是做什么的。注意力是因特网上最有价值的货币。 如果访问者无法在几秒钟之内得知你的网站的方向,他很有可能转而访问其他网站。 你必须迅速地告诉访问者为什么要在你的网站上花费时间。
2. 让网站易于速读。因特网不是书,因此没必要使用大段的文字。 也许我访问你的网站时我正在忙于其他工作,我不得不迅速读完所有内容。 项目符号、标题、副标题、列表,这些都能帮助读者迅速找到他想要的内容。

3. 不要使用难于阅读的花哨字体。当然,某些字体可以让网站精彩纷呈。 不过它们容易阅读吗?如果你的主要目的是传递信息并让读者阅读, 你应该让阅读过程舒服些。

4. 不要用小字体。如上一条所述,你得让读者阅读时感到舒服。 虽然我的Firefox有放大功能,但如果必须放大才能看清一个网站的话, 我就再也不会去访问它了。

5. 不要打开新浏览器窗口。我的第一个网站曾经经常这么做。 原因很简单,在新窗口中打开外阅读全文

posted @ 2008-01-17 14:41 落花人独立 阅读(171) | 评论 (0) 编辑 |

摘要:


28. 如何改变链接的鼠标形状

只需在链接上加上这一代码就行的了
或者跟上面的用CSS写也行

style="cursor:hand"       style="cursor:crosshair"
style="cursor:text"       style="cursor:wait"
style="cursor:move"       style="cursor:help"
style="cursor:e-resize"     style="cursor:n-resize"
style="cursor:nw-resize"     style="cursor:w-resize"
style="cursor:s-resize"     style="cursor:se-resize"
style="cursor:sw-resize"
以上代码你只需要加到连接或是页面的STYLE区里就可以实现鼠标多样化。

29.CO阅读全文

posted @ 2008-01-17 14:37 落花人独立 阅读(621) | 评论 (1) 编辑 |

摘要: 面向过程设计和面向对象设计的主要区别是:是否在业务逻辑层使用冗长的if else判断。如果你还在大量使用if else,当然,界面表现层除外,即使你使用Java/C#这样完全面向对象的语言,也只能说明你的思维停留在传统的面向过程语言上。

传统思维习惯分析

  为什么会业务逻辑层使用if else,其实使用者的目的也是为了重用,但是这是面向过程编程的重用,程序员只看到代码重用,因为他看到if else几种情况下大部分代码都是重复的,只有个别不同,因此使用if else可以避免重复代码,并且认为这是模板Template模式。

  他范的错误是:程序员只从代码运行顺序这个方向来看待它的代码,这种思维类似水管或串行电路,水沿着水管流动(代码运行次序),当遇到几个分管(子管),就分到这几个分管子在流动,这里就相当于碰到代码的if else处了。

  而使用OO,则首先打破这个代码由上向下顺序等同于运行时的先后循序这个规律,代码结构不由执行循序决定,由什么决定呢?由OO设计;设计模式会取代这些if else,但是最后总是由一个阅读全文

posted @ 2008-01-17 11:15 落花人独立 阅读(518) | 评论 (4) 编辑 |

摘要: 更确切地说,我们在比较AOP的拦截器和Decorator模式,它们非常相似,一些AOP框架本身就是使用Decorator模式来实现拦截器功能的。

  过滤器是架构设计模式中比较常用的一种,几乎每个灵活动态系统都需要过滤器,特别是当我们的数据以内存状态出现时,过滤器无疑成为领域层的一个核心业务逻辑,当然如果你还是使用面向数据库的编程模式,过滤器功能就被你用SQL语句的where语法给替代了,那么以下你可能不必再看,请浏览这篇文章:状态对象:数据库的替代者。

  当我们在一个AOP框架下编程,经常会问自己,到底过滤器这个功能是应该做成拦截器还是
Decorator,当我在Jdon Framework下重写JiveJdon时就不只一次的问我自己。

  其实这是一个分析模式中的过滤器实现问题,也是一个现实设计的问题:在Servlet Filter和职责链以及装饰模式Decorator和AOP几个方面如何选择?

  选择标准无外乎软件的两个终极目标:简单和高质量;高质量是反映在细粒度方面,简单则是在进行设计实现时比较阅读全文

posted @ 2008-01-17 11:06 落花人独立 阅读(129) | 评论 (0) 编辑 |

摘要: TheEdge推荐 [2006-12-17]
出处:Jdon
作者:板桥里人banq

这是一个实战中非常重要但是容易被忽视的概念,说它重要,是因为它比数据库重要;说它容易被忽视也是同样的原因,它经常被数据库概念替代。

  如果你经验和经历中没有状态这个概念,极端地说:可能你的Java系统经验还未积累到一定程度,状态是每个Java程序员深入Java系统后必然碰到的问题。

  本文我想试图表达的是:状态分两种:活动的状态对象和持久化的状态。而数据库中的数据只是状态的一种持久化结果,而Java系统运行时,我们更多的可能是和一种活动的状态打交道,这种活动的状态存在内存中,而不是持久化到硬盘上,当然,需要时你可以通过数据库/文件持久化到硬盘上。

  但是,如果你以数据库数据替代状态,那么就可能导致数据库的频繁访问,而且 你的系统会变成一个非对象化的、紧耦合、到处是分散数据块的糟糕系统。这样的系统并不比传统的两层结构好到哪里!也不会比Jsp里嵌入Java代码伪三层系统高明到什么地方。

  什么阅读全文

posted @ 2008-01-17 10:48 落花人独立 阅读(79) | 评论 (0) 编辑 |

摘要: package lq.test;

import java.io.*;
import java.util.*;

//*********创建型模式***************

//factory method 1
//1具体的构造算法,和2构造出的具体产品由子类实现
interface Product {
}

//或者我也提供一个工厂的接口,由这个抽象类来继承它

abstract class Factory {
abstract public Product fmd();

//我认为这个方方法的存在是,是对FactoryMethod方法的补充
//例如可以为生成的对象赋值,计算为生成对象应付何值,前后的日值
阅读全文

posted @ 2008-01-17 10:04 落花人独立 阅读(4140) | 评论 (2) 编辑 |

摘要: 1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
no
可用于Table

2. 取消选取、防止复制

3. onpaste="return false" 不准粘贴

4. oncopy="return false;" oncut="return false;" 防止复制

5. IE地址栏前换成自己的图标

6. 可以在收藏夹中显示出你的图标

7. <阅读全文

posted @ 2008-01-17 09:50 落花人独立 阅读(299) | 评论 (0) 编辑 |

摘要: SharpDevelop

强大的插件系统,通过Addin构建成一个功能齐全的.net开发IDE。核心是AddInTree。跟随这个项目开发许多有用的组件,比如功能文本编辑器(ICSharpCode.TextEditor),SharpZipLib等。

链接:http://www.icsharpcode.net/



DotNetNuke

这个就是著名DNN,使用VB.NET进行开发。通过其基本架构可进行堆积木式快速建站。而且支持子网站系统。其由asp.net Portal start kit进化而来。

链接:http://www.dnnchina.net/ ,http://www.dotnetnuke.com



Community Server

这个也是一个很著名的ASP.NET项目,记得好像最早系统原形为asp.net Forums,后来加入了.Text Blog 和nGallery成为一个完阅读全文

posted @ 2008-01-17 09:41 落花人独立 阅读(889) | 评论 (0) 编辑 |

摘要: I have been seeing many people with issues related to the “Temporary ASP.NET Files””

CS0016: Could not write to output file 'c:"WINDOWS"Microsoft.NET"Framework"v1.1.4322"Temporary ASP.NET Files"application"…….' . The directory name is invalid.
You could also be getting an “Access Denied” message.
Here is a collection of fixes which I have found:
Temp Folder Fix:...阅读全文

posted @ 2008-01-14 15:22 落花人独立 阅读(483) | 评论 (3) 编辑 |

count hit
欢迎您到紫阁阳光坐客