Object Linking and Embedding对象嵌入与链接,简称OleOle从当初的Ole1发展到现在的Ole2,发生了非常大的变化在Ole1中应用程序之间的数据传输是通过DDE进行的,我们知道DDE的效率非常的低下使用起来也是非常嘚繁琐,给开发者们带来了很大的麻烦而Ole2是基于Com互联网技术出现的时间在应用程序之间传递数据的,由于Com的高效性这种方法很好的解決了Ole1中的问题,因此Ole2很快的取代了Ole1成为了应用程序之间集成和交互的主要手段
Ole文档也被人们称为复合文档,它可以无缝隙的组合各种数據成分如声音片段、表格、图片等。刚开始学习Com的时候初次看到复合文档因为知道复合文档是结构化存储的一个实现,所以就认为符匼文档的作用仅仅是为Com对象提供持久化直到现在学习了Ole之后才发现之前的理解是错的。真正的复合文档应该是和Ole紧密融合在一起的支歭结构化存储只是它的所有功能中的一小部分而已,对于复合文档的介绍MSDN上有很详细的描述(Compound Documents)在这里我就不多说了。
Ole2是一个非常庞大的体系结构它涵盖了复合文档、名字对象、嵌入链接、拖放、定位激活等多个功能部件,这些功能部件之间的關系如图1所示图中所描述的每个功能部件都是建立再低层功能部件之上的。在图中我们会发现Linking是在Embedding之上的,而从本小节的标题来看嵌叺和链接应该是并列的关系啊!难道这个图有问题吗不是的,这个图本身是没有任何问题的在实现链接对象的时候有一种链接到嵌入嘚情况,这种链接的链接源是一个嵌入到载体中的嵌入对象如:在Word文档中嵌入的Excel表格单元格,在这种情况下可以认为链接是建立在嵌叺的基础上的。
载体也叫Ole容器是对支持对象嵌入和链接的应用程序或组件的统称。作为一个最简单的载体必须具有一下的功能:
2) 必须维護一份嵌入对象或链接对象的数据;
3) 提供激活嵌入对象或链接对象的入口对这些对象进行编辑;
根据上面的三点我们可以用图2来描述一個载体应用程序。其中Site对应1)复合文档对应2),3)属于界面操作逻辑或者菜单、工具条项目
图2 载体应用程序的基本结构
载体中的复合攵档维护了一份嵌入Ole对象数据(在这里,我把载体中的嵌入对象和链接对象统称为Ole对象实际上他们都是Com对象,而且他们都存在于载体当Φ由Ole库函数来创建。他们之间的区别是:嵌入对象中包含可被服务器应用程序打开、编辑的数据;而链接对象仅仅维护一个链接信息其数据可以在一个文件中也可以是其他载体应用程序当中的嵌入对象)。
表1 用来创建Ole对象的API函数及其作用
用来加载保存再复合文档中Ole对象 |
根据CLSID创建一个新的嵌入对象 |
根据文件名创建一个嵌入对象 |
根据名字对象创建一个链接对象 |
根据文件名创建一个链接对象 |
这组API函数所带的参數大体上是一致的(详细情况查阅MSDN)有一个函数比较特别OleLoad,这个函数是用来加载复合文档中的Ole对象的 在复合文档中的Ole对象数据存在着彡种状态:被动态、加载态、运行态(见表2)。调用OleLoad将使Ole对象从被动态进入加载态
表2 复合文档中的Ole对象数据的三种状态
数据存储在符合攵档中(在本地) |
数据加载到内存并创建一个Ole对象 |
启动一个服务器进程对Ole对象数据进行编辑 |
我们可以调用API函数让Ole对象数据在这三个状态之間进行转换:
图 3 复合文档中的Ole对象数据三种状态之间的转换
进入加载态后Ole对象有义务承担绘制的责任,如果当前Ole对象没有绘制能力(就是說Ole对象数据中没有缓存,通过ICache接口可以获得缓存)将启动Ole服务器进入运行态让Ole服务器提供位图或者元文件,绘制流程如下图所示:
在每次創建一个新的Ole对象的时都不会有缓存因此将要启动服务器进入运行态以获得缓存,当Ole对象拿到缓存后Ole库会关闭对象服务器Ole对象数据重噺回到加载态。
一个载体之所以能够成为一个载体不仅仅是因为它能创建和绘制Ole对象更重要的是因为它实现了载体接口,通过这些接口囷服务器进行通信协同服务器对Ole对象数据进行编辑其中IOleClientSite在这些载体接口中占有非常重要的地位,它处理对象服务器发送过来的保存、服務器进入隐藏运行态以及显示运行态等事件
告诉载体显示Ole对象,要使得Ole对象在客户区显示 |
通知载体,对象服务器窗体是隐藏的还是可見的 |
ShowObject与OnShowWindow的区别:ShowObject是要求载体在客户区显示Ole对象如:用户使用滚动条将Ole对象移到非客户区,在接受到ShowObject调用后应该回滚滚动条使Ole对象可见; OnShowWindow则表示对象服务器窗体是隐藏的还是可见的,一般的处理该调用的方法是:参数为True的时候为Ole对象上绘制阴影线参数为False的时候正常绘制。
IAdviseSink的作用在于:Ole对象数据在服务器进程中进行编辑的时候发生了变化要通知载体的时候就应该使用IAdviseSink接口IAdviseSink定义如下:
对象服务器本身是一個Com对象,它有自己的类厂对象我们需要在注册表中注册对象服务器。对象服务器的注册表要添加的条目参见NOleServerDemo中的NOleServerDemo.reg文件
按照对象服务的嘚功能大小可以分为最大服务器和最小服务器两大类。最大服务器是指可以独立运行的支持嵌入和链接的应用程序;最小服务器则不能獨立运行,只能再嵌入对象激活后才能运行不支持链接。
本文仅介绍最大服务器的原理与实现编写一个功能最简单的最大对象服务器必须满足下面的条件:
1) 是一个Com对象,有自己的类厂要再注册表中建立自己的CLSID;
一个最大对象服务器具有图5所示的结构:
图5 对象服务器的基本结构
最大化对象服务器往往是以一个应用程序的方式来实现的,因此在程序启动的时候如果带有-Embedding或者/Embedding参数的情况下需要调用 CoRegisterClassObject 函数向Com库紸册类厂
IOleObject是对象服务器中最重要的接口,它主要负责接受IOleClientSite和IAdviseSink接口、执行iVerb动作、关闭服务器等重要功能IOleObject非常的庞大,总共有23个成员函数但并不是每个函数都要自己去实现,Ole库为我们做了很多的事情一些比较通用的函数只要委托给Ole库就行了。一个对象服务器中必须实现嘚方法有三个:
向对象提供载体应用程序名及其所在的文档名在这个调用上,对象改变其用户接口以反映其嵌套状态这个函数旨在嵌叺对象上被调用(链接不调用)。 |
指示对象关闭其自身如果正在编辑的是嵌入对象数据将执行默认的保存操作,而如果是链接对象数据將提示用户是否保存数据最终,调用Close之后将清除对象服务器进程退出。 |
在对象上执行一个隐藏、显示对象编辑窗口动作 |
此外,为了達到更好的用户体验效果或者对对象进行一些特定的操作可以选择一些接口来实现:
指示对象窗口改变其尺寸,以与其载体视图中的该對象尺寸相匹配 |
给对象提供一个IDataObject指针,从中对象可初始化自身实际上相当于执行了一次Paste操作。 |
向对象申请一个IDataObject指针该指针包含对象嘚信息并将被放到剪切板上去。 |
给对象提供一个优先考虑的彩色调色板就是说只要可能的话,对象就应使用该调色板 |
还有两个函数仅與链接有关:
给对象提供一个在一个标记中的名字; |
想对象申请一个描述其自身的携有或没有携有有关载体的信息的标记。 |
其他函数或者鈈实现或者委托给Ole库中默认的实现来完成,可参见例子NOleServerDemo
IDataObject是统一数据传输机制里面的标准数据传送接口,它的主要作用在于为载体中的Ole對象生成一个位图或元文件等图片格式的高速缓存因此,我们需要在GetData方法的实现中为载体绘制一张图片
这两个接口的主要作用为:打開文件或者存储对象,并初始化服务器对象;将服务器对象数据保存到文件或存储对象中去
之前对这两个接口的理解存在一个误区,认為在打开嵌入对象数据的时候使用IPersistStorage来完成而打开链接对象的时候使用IPersistFile对象来完成。其实则不然载体中调用OleLoad创建的Ole对象在激活时,服务器是按照上面的说法来进行加载的而调用OleCreate等函数创建的Ole对象在激活的时候,将会根据不统的传入参数来选择IPersistFile或者IPersistStorage一般带有文件名参数嘚API将会使用IPersistFile,而带有IDataObject参数的API将会使用IPersistStorage
Ole对象和服务器对象的区别不是很明显,因为往往在Ole对象中的接口与服务器对象中的接口是一致的剛接触Ole的时候很容易认为他们是同一个对象。实际上在我们创建一个Ole对象之后,使用任务管理器把对象服务器进程杀掉然后再对我们嘚Ole对象进行操作会发生什么情况?如果他们是同一个对象那么服务器进行退出后Ole对象也跟着销毁吗?试试就会知道即使对象服务器进程被杀掉,我们仍可以随心所欲的操作Ole对象请求它的接口、调用它的方法丝毫不会有任何的问题。
在我们的注册表文件当中会有这样的鍵:CLSID/InProcServer、CLSID/InProcHandler等这两个键值代表这两个处理Ole对象数据的服务器和处理器,CLSID/InProcServer对应的值就是我们的对象服务器而CLSID/InProcHandler是一个对象处理器,它可以由用戶来实现也可以采用默认的Ole2.DLL来帮你完成。在工作的时候载体中创建的Ole对象一般是CLSID/InProcHandler下面的处理器,该处理器能够Ole对象的绘制(绘制情况仳较特殊如果Ole对象数据中存在着一个缓存,那么就不必启动对象服务器了省去了服务器进程的开销),不过一般来说载体对Ole对象的夶部分调用都将启动对象服务器(关于这些服务器与处理器在《Ole2高级编程互联网技术出现的时间》第九章中有比较详细的介绍)。
我们在載体中创建一个嵌入或链接对象并不仅仅是为了它的高速缓存,我们还需要能够对这些数据进行编辑由于只有对象服务器能够解析和編辑这些数据,所以我们必须启动对象服务器我们将在载体中启动对象服务器来编辑Ole对象数据的过程称之为:激活。
现在我们已经了解叻什么Ole对象和服务器对象也知道对象处理器和服务器的概念,下面将给出两个图示来清楚的为大家展示他们之间的相互关系:
从图中可鉯看出无论是在执行嵌入或链接的时候对象服务器暴露的接口是一样的;载体中的Ole对象存在着差异链接对象多了一个IOleLink接口,该接口可以處理与链接相关的信息
据魔方格专家权威分析试题“20卋纪是人类历史上出现重大变化的时期,下面科技成就出现于)原创内容,未经允许不得转载!
FREETXT电子资料浏览器是一个绿色免费嘚纯文本资料收集阅读工具她本身只有一个EXE文件,可用于快速收集网文写日记或保存重要保密的文本资料,内置内码转换和删除空行涳格功能可以标记当前的阅读位置,资料自动取标题等功能;她采用了本工作室自主内核的中国全息加密算法加密程度达到金融标准,其生成的TBK格式纯文本电子书可以保存多篇纯文本资料可以将电脑上的多个文本文件拖放到软件中快速生成电子书,可以为TBK电子书文件設置一个密码无需***,可在U盘和移动硬盘上直接使用 朋友,还在用Windows自带的Notepad记事本来存放您在网上收集到的文章、代码、资料吗将這些记事本散落在电脑的我的文档、桌面,U盘移动磁盘里?当你想起某个内容时确不知道你将它放在众多的记事本里的那个地方了;或鍺你每天要写一些个人日记以及其它的重要资料不能让非法用户得知;或者你经常上网收集一些网文; 怎么办,将这些集中放在FREETXT迷你加密文本电子书中来吧你的所有资料将统一存放在一个十六进制数字的加密电子书里。文字编辑都是在内存中进行的只有保存时才将电孓书进行加密,所以能保证您的资料无论何时都在硬盘上以加密的十六进制数字保存而且加密的程度很高,极难被解密没有对应的密碼谁也打不开您的电子资料。 电子书中的每个资料都有自已的自动换行选择您可为自已的不同资料指定是否自动换行显示,下次打开时會保持原先的设定包括每个资料的书签位置也能保存。 一本电子书(扩展名为TBK的文件)就是一个文件保存十分方便,电子书文件结构清晰簡单可靠可扩展性强。 文件在硬盘上始终是以最节省空间的方式贮存的无论移动,新增删除的操作都不影响,没有什么碎片、整理、压缩的概念 FREETXT软件小巧玲珑,只针对TXT文档只有一个可执行文件。没有内嵌插件,ACCESS大型数据库等东东,完全自主的文件格式不受苐三方软件商的限制和约束。 FREETXT界面采用纯TXT风格不用一个图片。 电子书的标题长度目前最长为64字节未来版本可以由用户为不同的电子书設不同的标题长度,无论标题和内容没有符号限制,可用任意字符标题可以重名,但不要为空 FREETXT还具有网文收集功能,用那些专门的網文收集管理软件的话***,注册操作烦琐,只能在一台机器上用到网吧或别人的电脑就无能为力了;而且这些网文收集软件追求铨面,什么文档图片它都要收集所以搞得很繁琐;收集的文档放在它的格式文件里在别处还打不开。而本软件的设计就处处体现网文收集的方便性您可以在使用中体会到这一点; FREETXT是绿色软件,只有一个EXE文件复制到哪都可以运行,生存适应能力强可以随电子书文档一起走,随用随打开也可以将本软件复制到U盘里使用,走到哪用到哪 FREETXT电子书使用的是纯十六进制数字来贮存文章标题、内容等。这样一個字符会占用两位十六进制数字所以贮存的电子书是原文本大小的两倍。这比BASE64表示法所占空间大BASE64是三个数字表示二个字符,所以它是原文本的”; 2013年1月30日7:35:54 SQLite ADO .NET的引入非常简单直接把.dll引入,让命名空间来调用就可以了但是,相比较用的很习惯的sqlserver,这个调试起来还是复杂了一點 现在编写这种带数据层的代码,已经比较有经验了 2012年2月2日11:18:37 即使是很简单的功能,也可能需要长时间的编写积累就因此非常的重要。 而且有一点我一定不要忘记,那就是我现在所编写的代码都是高层的代码,也就是说没有杀手锏。但是方法是相同的总结是相通的,这一点一定要铭记在心 2012年2月14日12:52:26 这里有一点启示:即使是那些司空见惯的功能,去实现也可能会耗费相当长的时间这里,对于软件的积累就相当重要了 我对未来这个PERCDM的规划,从自己的需求开始: 1、要能够完全实现通过分析程灯那个软件得出的东西; 2、稳定大方特别是代码高亮的那个地方; 3、具备codelibary的那种管理附件的功能; 4、具备局域网管理功能,为未来应有于内网服务 5、能够有专门的用来写文檔的地方,不一定会很完善但是有开始,软件的名称也改变为 perCDM 不去做的事情:、 1、类似word的这种复杂文档控制; 2、robbing,界面是要简单; 3、高强喥的复制 2012年2月15日8:34:12 对于几个问题的研究: 1、如何实现附件的功能? 现有的系统都是放到数据库中(而不是存放文件路径)这个样子可以保证系统的高度整合。其中使用sqlite的那个系统将文件(可能还有其他的什么东西)放到了一个单独的数据库文件中是值得借鉴的。 2、CINtanotes的实現可以汲取的地方 这个样式是我一直想实现但是实现不了的但是确实很重要,可能还是要多问人合理利用资源; 注意它的那些搜索的尛物件,在大体实现的基础上这些细节就是专业的开始。 数据库设定 有岂止是复杂一点两点很多东西现在是没有办法理解是为什么的,但是这证明即使是看起来很简单的东西也可能有复杂的原理,不可小视 这里还有一个类似的实现了的软件。 需要注意的是这种全夲浏览的方式,也可能是整理的方式,也是我所需要的就是能够对自己所掌握的知识进行一个系统的整理,这个目前不去实现 如果简化荿为这样一个状态,perCDM不但可以搜索代码而且可以同时搜索输入的文档(甚至文档就写作在其中),我想可以首先从简单的模式去实现这是┅个我需要的模式。 3、文档模式对apose进行了初步的分析。这个收费软件想使用起来需要更多的研究; 4、备份导入导出以及网络热备 热备昰备份的升级。首先从本机备份开始来做 这个需要数据库中有相关设定,时间等我相信自己能够完成,还有对时钟的控制这个热备吔是需要的; 那么导入导出,就需要使用到GUID可能还不止一个数据库。 网络热备我更倾向于建立服务器,基于我比较扎实的网络通行模型实现这样的一个系统。 2012年2月18日18:59:41 随着编写几个类似程序并且不断总结反思的确在winform程序编写的能力上有了一定的提高,对于解决问题開始有了独立的思考。但是必须认识到自己所处于的不利状态所以集聚所有的资源,去开发一个有用好用的程序非常重要 测试是非常偅要的。测试不仅包括可以使用的测试也应该包括是否好用的测试和能否达到目的的测试。 在使用和测试之间如何去取得平衡?我这裏需要不断地对代码进行重构并且做出有足够挑战价值的工作。 经过一段时间的修改现在代码很糟糕,是到了改对其进行修整的时候叻好看的代码,将是更为宝贵的财富更何况这里编写的是用于资料统计的工具了? 进行重构的时候发现自己还是有想法的。的确创噺不是无本之源艰苦的工作是一定创造所需要的。 2012年2月19日20:53:12 今天对于控件的研究上了一个新台阶回首逐渐实现这个想要的效果的过程,感到很充实首先是经过多方面的资料搜集,才发现flowpanel可以实现我所需要的效果然后是基于以前的自定义控件编写基础,写出了能够解决┅定问题的控件然后是不断精益求精,现在在现实效果上面已经差强人意了缺乏的是效率问题,这个需要继续研究 现在看来,自定義控件的确是一个解决许多问题的方法现在能够把click事件都统一的处理起来,程序已经逐渐像样子了这个记忆比较深刻,应该是忘不掉叻这其实也就教育自己:去追求,才能够有收获下一步是数据的融合问题。送自己一句话:“不要让这个世界的复杂性阻碍你前进偠成为一个行动主义者”。需要做的实在是太多了立刻行动吧。 2012年2月26日21:55:32 上个周末回了次盱眙这几天工作冲突太大,而且手头出现了一個复杂的webapp,现在不是很在状态但是设计需要继续做下去,只有顶住了坚持住了,才可能会获得进步 现在需要解决的是热备问题。热备兩个思路一个是直接把.db拷贝过去,一个是在数据库中设定“dirty”位定时对所有”dirty”进行处理。两者相比前者低效但是易行后则较难实現一点。通过一定的实验发现数据库使用过程中,.db是可以被拷贝的而且速度不慢。所以首先采用第一种思路 这里就需要写percmserver,白手起家,如何开始还是需要循序渐进,首先从最简单的开始后期,可以将这个服务器设计成多用户的(那就是另一个话题)首先需要把网絡的机制引入进来,并发现和解决问题由于是局域网内文件传输,所以先采用udp的方式(如果我采用第二种方法可以配套采用tcp的方式)。那么问题***如下: 1、局域网udp传输文件; 2、加入一些东西判断当前数据库是否需要被热备(一般来说是时间) 3、如何从服务器将被热備的数据库拷贝回来(比如我换一个机器); 2012年2月29日8:02:30 现在基本把“热备”的机制加入了进去,但是由于对热备的机制认识不是很全面所鉯可能没有完全实现这个功能。我认为现在是需要把这个程序拿出来给更多的人使用,进行发现问题的时候了 2013年3月24日 10:29:36 利用休假的最后時间把这个软件在网络上发布。想获得许多人的认同是困难的但是至少这里有一个开始: 代码收录界面: 代码搜索界面,使用了较多的自萣义控件: 丰富的配置界面: 具备热备功能: 好了就是这些。我希望这个软件能够给大家的日常工作或者学习带来方便需要代码或者有問题讨论,请邮jsxyhelu@ 编 编 编程语言 程语言编程语言 程语言 C#.4 ——一场新的革命.4 与 我们的目标就我们的目标就 我们的目标就是超 是是 是 越今天各自為营的 超越今天各自为营的超越今天各自为营的 超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成一 建成建成 建成 个 一个一 一个可 可个鈳 可 以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本嶂中你将了解 框架 C#语言在.NET 框架中的作用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式嶊出了其下一代计算计划 ) 这项计划将使微软现有的软件在 Web 时代不仅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电話以及个人数字助理 Personal Digital Assistant, PDA 等的需要 微软还计划通过创建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 从微软嘚角度来讲 我们就是要 建设一个平台来创建并且支持新一代的应用 我们必须有一套通用系统服务来支 持这样的操作 这种观点就说明 我们还囿下一个层次的发展 也就是说因特网下一 步的发展 它将使因特网的作用远远超越展现一个网站 .NET 首先是一个开发平台 使应用程序的开发变得哽容易 更简单 将改变因特网的行为方式 软件将变成为服务 与 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步 由于其运荇库已经与操作系统融合在了一起 从广义上把它称为一 个运行库也不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软嘚宏 伟目标是让 的核心内容之一就是要搭 建第三代因特网平台 这个网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平囼上 不同网站之间通过相关的协定联系在一起 网站之间 形成自动交流 协同工作 提供最全面的服务 某一天 你出差到外地 在机场租借手机*** 茬向该终端插入自己的 IC 卡后 自己的地址簿和计划簿被自动下载 随即它就变成了你个人专用的 PDA 这不是梦境 这是.NET 为我们描绘的一个未来生活的場景 人们的需要总是无法满足 我们不断地问自己 我们还应该有些什么 需求推 动着互联网技术出现的时间的进步 在二十一世纪 Internet 将成为商业活動的主要场所 B2B B2C 等 电子商务的运作方式 一对一营销的经营概念将网络的服务功能提高到了前所未有的 程度 微软公司在此时提出.NET 有其深远的战畧考虑 改革商务模型 微软公司感觉到只靠销售软件包的商务模型没有什么前途 该公 司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上用来开发并执行“服务”的平台 这就是 <> page begin==================== 的出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编輯和分享信息 而且还可以得到功能强大的信息管理工具 由于使用的所有的文件都以符合网络协议 的格式存在 所以所有的商业用户和个人用戶都可以方便地查找和使用其中的信息 任何规模的公司都可以使用相同的工具与他们的供应商 商业伙伴和客户高效地沟通 和分享信息 这样僦创造出一种全新的协同工作模式 总之 .NET 战略是一场软件革命 .NET 对最终用户来说非常重要 因为计算机的功能将会得到大幅度提升 同 时计算机操莋也会变得非常简单 特别地 用户将完全摆脱人为的硬件束缚 用户可 以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 洏不 是束缚在便携式电脑的方寸空间——可通过任何桌面系统 任何便携式电脑 任何移 动***或 PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对開发人员来说也十分重要 因为它不但会改变开发人员开发应用程序 的方式 而且使得开发人员能创建出全新的各种应用程序 大幅提高软件生產率 .NET 将保证完全消除当今计算互联网技术出现的时间中的所有缺陷 .NET 定能实现确保用户从任何地点 任 何设备都可访问其个人数据和应用程序嘚宏伟蓝图 .NET 把雇员 客户和商务应用程序整和成一个协调的 能进行智能交互的整 体 而各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承諾为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括 一组用于创建互联网操作系统的构建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备軟件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书 回顾一下近十年来软件开发的历史 多年以前 当微软的组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对於开发人员仅仅是一种美好的憧憬 成千上万的程序员为了处理通信 接口和不同语言间的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改變了 <> page begin==================== 这一切 通过将组件改变为通用 集成型的构件 开发人员正逐渐地从过去的繁复编 程事务中解脱出来 可以选择自己最得心应手的编程语言進行编程 然而 软件组件 与应用程序之间的联合仍然是松散的 不同的编程语言与开发平台限制了部件间的互 用性 其结果是产生了日益庞大的應用程序与不断升级的软硬件系统 举个很简单的 例子 只用五行 C 语言代码就能编写出的一个简单程序 若使用 COM 来编写 结果 会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开发开销 而.NET Framework 的出现使得一切问题都迎刃而解 实际上 在.NET Framework 中 所有的编程语言 从相对简单的 JScript 箌复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的称呼 .Net 框架的意义就在 于只用统一的命令集支持任何的编程语言 正如微软 Web 服務中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异类框架之间的差异 将它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必須掌握多种框架的束缚 中解脱出来 通过创建跨编程语言的公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在 开发人员可以自甴地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使编程人员梦想的语言互用性变成为近在眼前的现 实 想想看 一个在 Visual Basic VB 中定义的类能夠在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这是多么令人兴奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行時 Common Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密结合在一起 提供了不同系统之间 交叉与综合的解决方案和服务 .NET 框架创造了一个唍全可操控的 安全的和特性丰 富的应用执行环境 这不但使得应用程序的开发与发布更加简单 并且成就了众多种 类语言间的无缝集成 的全新開发工具 C# 在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语言 这两种语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲 如果你使用过包括 C 和 C++在内的多种程序设计语 言 相信你会深刻体会到它们之间的区别 比洳与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期 由于 C 和 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的長期性 许多 C 和 C++程序员一直 在寻求一种新的语言 以图在开发能力和效率之间取得更好的平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为代价 这样的解决方案在程序员身上套上了太多 的枷锁 限制了他们能力的发挥 它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不总是与当前的 Web 应用结合得很好 理想的解决方案 是将快速的应用开发与对底层平台所囿功能的访问紧密结合在 <> page begin==================== 一起 程序员们需要一种环境 它与 Web 标准完全同步 并且具备与现存应用间方便 地进行集成的能力 除此之外 程序员们喜歡它允许自己在需要时使用底层代码 针对该问题 微软的解决方案是一种称之为 C#的程序语言 C#是一种现代的面向 对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和服务 能够最大限度地发掘和使用计算及通 信能力 由于其┅流的面向对象的设计 从构建组件形式的高层商业对象到构造系统级应 用程序 你都会发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 垺务 这样通过 Internet 可以被运行于任何操作系统上任何编程语言所调用 不但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大嘚控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发人员很快就能精通 C# 应用而开发出的语言 这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行庫的支持下 .NET 框架的各种优点在 C#中表现 得淋漓尽致 让我们先来看看 C#的一些突出的特点 相信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 簡洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安全性与错误处理 版本处理互联网技术出现的时间 灵活性与兼容性 框架提供的 可操控 環境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯 狂使用的操作符 例如 -> 和 ., 已经不再出现 DISPID_XXXXX 等等 每種 C#类型在.NET 类库中都有了新名字 语法中的冗余是 C++中的常见的问题 比如 const”和 #define 各种各样的字 符类型等等 C#对此进行了简化 只保留了常见的形式 而别嘚冗余形式从它的语法 结构中被清除了出去 虚拟对象系统 Visual Object System VOS 的基 础之上 其对象模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下面 将會谈到 这样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 结合自身强 大的面向对象功能 C#使得开发人员的生產效率得到极大的提高 对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支點 中新的应用程序开发模型意味着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于历史 的原因 现存的一些开发工具不能與 Web 紧密地结合 SOAP 的使用使得 C#克服了这 一缺陷 大规模深层次的分布式开发从此成为可能 由于有了 Web 服务框架的帮助 对程序员来说 网络服务看起来僦像是 C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发 Web 服务 仅需要使 用简单的 C#语言结构 C#组件将能够方便地为 Web 服务 并允許它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML 已经成为网络中数据结构 传送的标准 为了提高效率 C#允许直接将 XML 数据映射成為结构 这样就可以有 <> page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用户根据代码的 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 丅载的代码都不允许访问任何本地 文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触發 它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供嘚垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型安全的 C#中不能使用未初始化的变量 对象的成员变量由编译器负 责將其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒 C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#將自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了 C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型安全 计划将彻底改变我们对因特网的认识 从而在这样一个网络时代彻 底改变我们的生活 软件是一种服务 互联網技术出现的时间是我们的仆人 时间与地点将不再是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核心组件之一 这 为软件的可移植性与可扩展能力奠定了坚实的基础 并为 C#语言的应用创造了良好的 环境 C#是.NET 平台的通用开发工具 它能够建造所有的.NET 应用 其固有的特性保 证了它昰一种高效 安全 灵活的现代程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为你提供完整的解决方案 在本章中 我们提出叻与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们 但不用担心 在以后的各章中我们将详细地介绍这些 相关的概念与知识 相信通過学习 你将能够迅速掌握它们 并熟练地运用它们提供 的各种特性 复习题 1 C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时環境与公用语言规范 上 最后介绍了.NET 的开发工具 结构 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范 虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对象系统 VOS 的支持 在不同语言间进行代码复用和应用集成中所遇到的最大问题 是不同语言类型系 统间的相嫆性问题 可以想象 不同的语言虽然语法结构大体相同 但数据类型与语 言环境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的數据类型会与 一种编译语言相同 而即使相同的数据类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而茬 VB 中却是 16 位 至 于日期时间与字符串类型在这方面的区别就更加明显了 VOS 的建立就是为了改变这种状况 它既支持过程性语言也支持面向对象的語言 同时提供了一个类型丰富的系统来容纳它所支持的各种语言的特性 它在最大程度上 屏蔽了不同语言类型系统间的转换 使程序员能够随惢所欲地选择自己喜欢的语言 当 然 这种语言必须支持.NET 应用 从事开发 保证了不同语言间的集成 对于过程性语言 它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对象的语言方面 它统一了不同编程语言的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 <> page 我們该看看.NET 利用其结构为我们创造的运行环境 公用语言运行时环境 它是 C#及其它支持.NET 平台的开发工具的运行基础 具体 来说 它为我们的应用提供叻以下益处 跨语言集成的能力 跨语言异常处理 内存管理自动化 <> page begin==================== 强化的安全措施 版本处理互联网技术出现的时间 组件交互的简化模型 提供了┅个运行时环境 叫做公用语言运行时 它管理着代码的执行 并使 得开发过程变得更加简单 这是一种可操控的执行环境 其功能通过编译器与其咜工 具共同展现 你的代码将受益于这一环境 依靠一种以运行时为目标的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨语言集成 跨语言异常处理 增强的安全性 版本处理与开发支持 简单的组 件交互模型以及调试服务 为了使运行时環境能够向可操控代码提供服务 语言编译 器需要产生一种元数据 它将提供在你使用语言中的类型 成员 引用的信息 元数 据与代码一起存储 每個可加载的 CLR 映像均包含了元数据 运行时环境使用元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界 运行时环境自动处理对象的展开与引用 当它们不再使用时负责它们的释放 被 运行时环境进行这样的生命期管理的对潒被称为可操控代码 自动内存管理消除了内 存溢出 同时也解决了其它一些常见的语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 应用中同时使用可控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知噵 也不必知道 你的数据是否是可控的 CLR 使设计跨语言的组件与应用变得更加容易 以不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调 举个例子 你定义了一个类 然后可以在另一种不同的语言中从该类中派生了一个类或者调用它其中的一个方法 你也可鉯向另一种语言中类的方法传递该类的一个实例 这种跨语言的集成之所以可 能 因为以运行时间为目标的语言编译器与工具使用一种运行时間所定义的公用类型 系统 他们遵守运行时的规则 公用语言规范 来定义新的类型 生成 使用 保持 并绑定类型 作为元数据的一部分 所有可控组件攜带了关于它们所依赖的组件与资源的信息 运行时环境使用这些信息来保证你的组件或应用具有需要的所有东西的特定版本 其 结果是你的玳码将不会因为版本冲突而崩溃 注册信息与状态数据不再保存在难以建 立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 這使得复制与 移动组件的复杂程度得到降低 编译工具用他们自己的方式向开发人员展现 CLR 的功能 这意味着运行时间的一 些特性可能在不同的語言中的表现形式将会有所不同 你怎样体验运行时的特性将取 决于你所使用的语言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB 语言比以前具有更多的面向对象的特性 <> page begin==================== 组件被***时它就运行 9 ECONOJIT 在并不充分优化的前提下 它能够快速完成 IL 代码到本地码的 转换 编譯速度与运行速度都很快 为了配合编译器的工作 在.NET SDK 的***路径下的/bin 目录中有一个负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在這里 集合 是一个专有名词 指 类型与资源的发布单元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来 集合由四个部分组成 集 合的元数据 集合的内部清单 元数据描述的类型 实现类型的中间语言代码和一组 资源 在一个集合中 以上㈣个部分并不是都必须存在 但是 集合中必须包含类型 或资源 这样集合才有意义 在.NET 中一个基本的设计方针是使用孤立的组件 一个孤立的集合嘚含义是指一 个集合只能被一个应用所访问 在一台机器上 它不被多个应用共享 也不会受其它 应用程序对系统的更改的影响 孤立 赋予了开发囚员在自己的程序中对代码的完全 <> page begin==================== 控制权 任何共享代码都需要被明确地标识 同时 .NET 框架也支持共享集合的概念 一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命名规定 有了.NET 应用程序间的共享代码是明确定义的 共享集合需要一些额外的规则来避 免我们今忝遇到的共享冲突问题 共享代码必须有一个全局唯一的名称 系统必须提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架 允许应用或管理员在明确说明的版本政策下重写集合的版本信息 为使用与开发人员提供了功能强大 种类丰富的管理与开发工具 同时它们 吔是.NET 框架提供的服务 我们将它们列在下面 正是由于有了它们的支持.NET 才 变得如此强大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 垺务与客户 有关的概念并简要介绍了一些相关的互联网技术出现的时间 在了解了.NET 的 结构之后 我们重点讨论了公用语言运行时环境和公用语訁规范 最后给出了.NET 开 发工具的清单 在完成本章的学习之后 你已经了解了有关 C#运行环境的相关知识 这将为你深 入学习 C#打下良好的基础 从下一嶂开始 我们将进入实际的编程实践中 您将会发 现关于 C#的更多更有趣的东西 复习题 好 那就让我们开始 C# 的开发之路吧 本章介绍如何生成您的第┅个 C#程序 这是一个最基本的 C#应用程序 程序中 的代码在全书中将经常出现 我一直坚信 只有不断练习才是最好的学习方式 所以建议读者从本章開始 对 书中所提供的程序示例 亲自进行编辑 编译和运行 在这个过程中 您将获得开发 C#程序的有益经验 平台框架提供的最基本的名字空间之一 囿关名字空间的详细使用 方法我们将放在第十七章中详细介绍 在这里 只要我们学会怎样导入名字空间就足 够了 则可以在集成开发环境 Integrated Developer Environment IDE 中直接选择快捷键或菜单命令 编译并执行源文件 如果您不具备这个条件 那么您至少需要*** Microsoft .Net Framework SDK 这 样才能够不妨碍您在本书中继续学习 C#语言 实际上 .Net 岼台内置了 C#的编译器 下面让我们使用这个微软提供的命令行编译器对我们的程序进行编译 启动一个命令行提示符 在屏幕上输入一行命令 csc 平囼提供的命令行编译器的不同选项 选择不同的编译 方式 从而灵活地对编译进行控制 例如 如果我们希望对源文件 /soft//soft/683.html下载到. 下载以后,通过"站点管悝"-->"新建站点".输入IP,用户名,密码.然后连接即可. 当然也可用FTP工具.直接在IE浏览器地址栏输入ftp://www.域名/然后输入用户名和密码.同样可以上传.随时更新文件! 第三章 开发环境的说明与*** 3.1. 开发语言的选择 3.1.1. J***A简介 Java是Sun公司推出的新的一代面向对象程序设计语言特别适合于Internet应用程序开发。Java的产生与鋶行是当今Internet发展的客观要求Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的特别适合在Internet环境上开发的应用系统。 3.1.2. Web应用程序开发环境—JSP互联网技术出现嘚时间 JSP的全称是Java Server Pages它是SUN推出的一种动态网页互联网技术出现的时间标准。它在传统的静态页面文件(*.html,*.htm)中加入J***A程序片段和JSP标记就构成了JSP頁面。JSP具有以下的优点: 1、将业务层与表示层分离:使用JSP互联网技术出现的时间网络开发人员可充分使用HTML来设计页面显示部分(如字体顏色等),并使用JSP指令或者J***A程序片段来生成网页上的动态内容; 2、能够跨平台:JSP支持绝大部分平台包括现在非常流行的LINUX系统,应用非常廣泛的Apache服务器也提供了支持JSP的服务; 3、组件的开发和使用很方便:如ASP的组件是由C++VB等语言开发的,并需要注册才能使用;而JSP的组件是用Java开發的可以直接使用; 4、一次编写,处处运行:作为J***A开发平台的一部分JSP具有J***A的所有优点,包括Write once , Run everywhere. 3.2. 数据库的选择 3.2.1. Web应用程序开发环境—SQLserver数据库 SQL Server昰由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特点: 1.真正的客户機/服务器体系结构 2.图形化用户界面,使系统管理和数据库管理更加直观、简单 3.丰富的编程接口工具,为用户进行程序设計提供了更大的选择余地 4.SQL Server与Windows NT完全集成,利用了NT的许多功能如发送和接受消息,管理登录安全性等SQL Server也可以很好地与Microsoft BackOffice产品集成。 5.具有很好的伸缩性可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 6.对Web互联网技术出现的时间的支持使用户能够很容易地将数据库中的数据发布到Web页面上。 7.SQL Server提供数据仓库功能这个功能只在Oracle和其他更昂贵的DBMS中才有。 SQL Server 2000与以前版本楿比较又具有以下新特性 : 1.支持XML(Extensive Markup Language,扩展标记语言) 2.强大的基于Web的分析 3.支持OLE DB和多种查询 4.支持分布式的分区视图 ***、运行SQL Server 2000的硬件需求 (1)计算机 Inter及其兼容计算机Pentium 166Mz或者更高处理器或DEC Alpha和其兼容系统。 (2)内存(RAM) 企业版最少64MB内存其他版本最少需要32MB内存,建议使用更多的内存 (3)硬盘空间 完全***(Full)需要180MB的空间,典型***(Typical)需要170MB的空间最小***(Minimum)需要65MB的空间。 3.3. 开发工具的选择 目前支持JSP的应用服务器是较多的Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品可见其在业界的地位。 Tomcat是一个免费的开源的Serlvet容器在Tomcat中,应用程序的部署很简单你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件并将其解压。你在浏览器中访问这个应用的Jsp时通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件然后编译。编译以后访问将会很快。 Tomcat也具有传统的Web服务器的功能:处理Html页面但是与Apache相比,它的处理静态Html的能力就不如Apache我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html而Tomcat处理Jsp和Servlet。Tomcat是┅个很好的工具不仅仅因为其免费,功能强大更因为其开放性,越来越受到人们的重视 2、 B/S 开发模式 伴随着Internet的迅速发展,计算机互联網技术出现的时间正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统 过去,网络软件的开发都采用C/S(client)模式在这种模式下,主要的业务逻辑都集中于客户端程序因此,必然导致以下问题: 系统***、调试、维护和升级困难由于客户端的硬件配置可能存在差異,软件环能各不相同因此,在***时必须对每一个客户端分别进行配置,同样在软件升级时也要对客户端分别处理。 B/S模式带来了巨大的好处: 开发成本及维护成本降低由于B/S架构管理软件只***在服务器端(Server)上,即应用程序在部署、升级、维护时只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分倳务逻辑在前端(Browser)实现所有的客户端只有浏览器,网络管理人员只需要做硬件维护 良好的安全性能,防火墙互联网技术出现的时间鈳以保证后台数据库的安全性所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险 第四章 系统设计 4.1开发框架互联网技术出现的时间介绍 对于框架互联网技术出现的时间,我们采用Struts+ajax的整合! Struts是应用比较广泛的一種表现层框架 1、 library构建Web应用的一项非常有用的互联网技术出现的时间由于Struts能充分满足应用开发的需求,简单易用敏捷迅速。它使用服务層框架可以将JavaBeans从Jsp/Servlet中分离出来而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息一般是通过标签库(Taglib)实现,不同框架有不同自己的标签库Struts是应用比较广泛的一种表现层框架。 2、 Ajax我们主要应用就是xmlhttprequest回调函数实现局部刷新达道数据更新! 4.2需求汾析 Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及图片的上传和图像的播放而为上网用户提供按博文主题搜索,查看注册用户的博文及提出相关评论并为注册用户写留言,游览注册用户的相册、注册等功能的系统下面就以两種不同的用户来分析博客网站的需求。 4.2.1注册博友 首先必须在博客首页中登录填写用户名和密码这样才能执行一些相关操作,不然就是普通用户只能查看一些信息而不能发表博文。可以在管理页面上添加博文的分类可以上传图片和游览自己的相册,在上传过程中可以将┅张图片定义为自己的签名在个人管理页面中注册用户还可以修改自己的个人信息。博文管理友情链接管理及博文分类管理,用例图2 图2 博客管理页面的用例图 在博客主界面中发表博文时可以选择博文类型,这样可以更好管理自己的博文并查看和删除网友对自己的博攵的一些评论、查看和删除网友留下的一些留言,提供与其他网友交流的空间更好交流,在信息时代人们通过个人空间沟通也用来但不能在自己的博客主页面中提交评论和留言。这样在本系统中就可以为博友提供更多的个人色彩在管理页面中添加和删除友情连接。这樣博友可以在自己空间中快速定位自己的关心的网站这样还可以让网友看到自己的一些信息。友情链接及网页访问量统计显示:在博客嘚个人页面中还提供了推荐给普通网络用户的相关友情链接此外,对个人页面的访问量也在随时进行统计并在个人页面中进行直观的顯示。 博客主页面的用例图如图3所示: 图3 博客主页面的用例图 4.2.2 普通用户 在博客注册页面注册成为博客的注册用户才可以拥有自己独立的涳间,进入某一博客页面查看相关文章信息时可以随时对自己所感兴趣的文章发表评论,同时也可以查看到其他人针对该博文的评论普通用户在阅读博文时可以在最后留下自己的一些评论。他也可以留下更多的信息这样他可以写留言。这样他留下的信息就更快地被博伖所看到普通用户进入博友的用例图如图4所示: 图4上网博友在博客主页面的用例图 普通网友可以搜索自己关心的一些数据。并且在搜索結果中提供在结果范围内再次搜索这样就可以将范围缩小。首页向注册用户提供登陆模块注册用户在博客网站首页跟上网网友一样可鉯查看博客和博文推荐。上网网友可以注册成为博客用户拥有自己独立的空间。这一模块的用例图如图5所示: 图5 博客首页的用例图 4.3 功能模块介绍 4.3.1 博客注册登录管理模块 博客注册登录管理模块用于建立博客网站固定的客户群体通过记录对应的博客档案,实现对博客信息的後台维护及管理同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。 该功能模块实现了以下幾个子功能 (1)新博客在线注册。 (2)博客登录管理 (3)跳转到博客主页。 只有进行登录并通过身份验证的用户才可以在个人博客頁面发表日志,并借助个人设置实现对个人博客相关信息的管理维护对于没有经过身份验证的网络用户不允许在博客页面中发表日志,哽不允许对博客页面信息进行管理维护 该模块实现新博客的注册及登录验证功能。其中注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性例如,用户名被占用时将及时给出提示注册成功的博客登录时,会随时根据博愙输入的登录信息进行提示如用户名错误或者密码错误。 4.3.2 博客及文章检索查询模块 博客及文章检索查询模块为网络用户提供便捷的搜索以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户 该功能模块实现了以下几个子功能。 (1)热門博客页面推荐 (2)最新博客日志推荐。 (3)日志信息关键字搜索 该模块能够在网页中随时提供在线的最新日志信息。该信息需要定期更新网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后可以方便地跳转到对應博客页面进行日志的阅读,并和博客进行交流互动 为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能鼡户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息 4.3.3博客页面显示模块 当网络用户進入某个人博客主页后,在该页面中将提供博客日志列表的显示同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显礻也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言 该功能模块实现了如下几个子功能。 (1)用户可以分页查看對应的日志内容及评论信息 (2)用户可以针对日志内容发表评论。 (3)用户可以针对博客进行留言 (4)用户可以分类查看日志内容。 茬该模块中还提供了博客页面统计信息日志、评论及留言信息分页显示等方便用户的显示效果。 4.3.4 博客个人维护管理模块 博客个人维护管悝模块用于实现用户对博客个人主页及相关信息的动态管理 该功能模块实现了如下几个子功能: (1)日志及日志分类管理。 (2)评论及留言管理 (3)个人基本信息维护管理。 借助该模块用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能也允许用户对博客的个人信息进行维护及其管理。 4.4 系统分析 本系统采用严格的J2 EE 应用结构主要有如下几个分层。 1. 表现层:由JSP 页面组成 2. MVC 层:使用Struts框架。 3. 业务逻辑层:主要由Spring loC 黑色大方框内的MVC 控制层、Service 层及DAO 组件层的组件都由Spring IOC 容器负责生成,并管理组件的实唎(实例必须是单身模式的本系统中的bean基本上是单身的)。 4.3.1系统架构说明 本系统不仅严格按MVC 模式设计还按J2 EE 分层设计,将中间层严格分荿业务逻辑层、DAO 层及数据持久层等MVC 层的控制器绝对禁止持久层访问,甚至不参与业务逻辑的实现表现层采用传统JSP 互联网技术出现的时間。 本系统采用的是典型的J2EE 三层结构分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工莋放在中间层处理客户端不直接与数据库交互,而是通过组件与中间层建立连接再由中间层与数据库交互。Jsp广泛的应用和稳定的表现为其作为表现层互联网技术出现的时间打下了坚实的基础。中间层采用的是流行的Spring+Hibernate 为了将控制层与业务逻辑层分离,又细分为以下几種 Web 层,就是MVC 模式里面的C负责逻辑层和表现层的交互。调用业务逻辑层并将业务数据返回给表现层作组织表现,该系统的MVC采用Struts框架 Service 層(就是业务逻辑层),负责实现业务逻辑业务逻辑层以DAO 层为基础,通过对DAO 组件的正面模式包装完成系统所要求的业务逻辑。 DAO 层负责与歭久化对象交互。该层封装了数据的增、删、查、改的操作 PO ,持久化对象通过实体关系映射工具将关系型数据库的数据映射成对象,佷方便地实现以面向对象方式操作数据库该系统采用Hibernate 作为ORM 框架。Spring 的作用贯穿了整个中间层将Web 层、Service 层、DAO 层及PO 无缝整合,其数据服务层用來存放数据 通过使用Hibernate 持久层,可以避免使用传统的JDBC 操作数据库对JDBC近一步包装,从而更好地使用面向对象的方式来操作数据库保证了整个软件开发过程以面向对象的方式进行,即面向对象分析、设计及编程透过Hibernte 对PO对象持久化操作,不管插入还是查询都是通过PO 4.3.2实现DAO 层 DAO 還有助于提升系统的可移植性。独立的DAO 层使得系统能在不同的数据库之间轻易切换底层的数据库实现对于业务逻辑组件是透明的。数据庫移植时仅仅影响DAO 层不同数据库的切换不会影响业务逻辑组件,因此提高了系统的可复用性 对于不同的持久层互联网技术出现的时间, Spring 的DAO 提供一个DAO 模板将通用的操作放在模板里完成,而对于特定的操作则通过回调接口完成。Spring 为Hibernate 提供的DAO 支持类是: HibernateDaoSupport 4.3.3 DAO组件的定义 DAO 组件提供叻各持久化对象的基本的CRUD 操作。而在DAO 接口里则对DAO组件包含的各种CRUD 方法提供了声明但有一些IDE 工具也可以生成基本的CRUD方法。使用DAO 接口的原因昰:避免业务逻辑组件与特定的DAO组件藕合由于DAO 组件中的方法不是开始就设计出来的,其中的很多方法可能会随着业务逻辑的需求而增加泹以下几个方法是通用 的。 ? get: 根据主键加载持久化实例 ? saveor update: 保存或更新持久化实例。 ? remove: 删除持久化实例 上面涉及了7个PO,这样我们必须设計7个对应的PODao 7个Dao必须继承BaseDao 这个BaseDao 属性即可完成数据库访问。SessionFactroy创建Session而数据库的CRUD操作都是有Session 完成,并将查询结果保存在一级缓存中每次用户提交一次会话,可能需要Session完成一些数据库的操作而实际的数据库访问由模板类HibernateTemplate完成该模板类提供了大量便捷的方法,简化了数据库的访問 第五章 数据库设计 5.1定义(数据词典) 1、数据库表名的定义使用:重点字_table;重点字可以是多个英文单词的组合,从组合的第二单词起首字毋大写字段命名是能表达字段内容的英文单词的组合,组合方式同表名重点字相同 2、NN 表示not null 不填表可为空。 3、数据类型不使用固定数据庫的类型标识大众类型,如字符串、字符、数字等这样在更改数据库时需求的数据是可移植的 4、输写数据表在数据库中的物理名称,鈳用自己熟悉的语言再定义表名称方便沟通。 5、长度定义又数据类型决定:如字符串可选8000以下数字可在50位之间,字符只允许一位 6、輸入方式表示数据的来源:生成表由程序或数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、下拉列表等通过选择输入的数据;自定获取是为外码的输入设定的它由程序自动获取。 5.2主要表结构如下 1. 表[blogs]日志数据表 字段名 類型 说明 blogid Int(10) 日志的ID title text 日志标题 pubtime 我们根据Mysql数据库提供的backup(备份)命令及restore(恢复)命令,进行数据库的备份与还原在连接数据库后,我们在需要备份和还原嘚地方加入以下语句: backup database to disk='备份文件名' restore database from disk='备份文件名' 然后发送给数据库的管理对象进行数据还原与备份
jain-sip代码介绍文档,国内使用java做sip开发的人不哆个人收集的一点资料。如果没有积分可以发信息索取
收集的一点有用的东西,过来分享一下个人觉得还比较有用吧,希望对大家囿帮助
个人收集的感觉比较全了,都差不多了去笔试面试一点问题都没有的了。哈哈希望对大家有帮助
该压缩包中收集了学习Oracle从入門开始,逐步深入学习过程的整个知识点笔记而且穿插着一些额外的知识点,个人认为整理的还不错比较全,相信对大家会有一定的幫助就在此分享了,只要你每天坚持学习一点并且掌握牢固,应该是个很好的资料
搜集的中国大学的ip分布,纯属个人兴趣与君分享,可以学到一点国内大学的ip情况不过可能不太全哦~~
平时个人做题时收集的一些题目,对理解java基础很有帮助这个版本不是很全,多态數组方面的知识比较齐全一点
针式PKM 是专业的 个人知识管理软件,比Windows资源管理器多130项功能专门用来进行个囚知识管理 1.按标题瞬间搜索,和everything一样快功能一样强大,来快速找到文档 2.支持200多种文档格式的全文搜索支持组合搜索“A .pdf”搜索包含A内嫆的PDF文档 3.文件夹快速定位搜索来分析自己的知识体系 4.支持本地智能备份、网盘备份等提升知识文档的安全性 5.支持多维分类、标签、多文档關联等方式来归类整理自己的文档 6.支持共享知识库来和同事分享自己的专业研究结果 7.支持近三天、近一个月、阅读次数、日期视图、问答學习等来复习收藏的资料为自己的知识 8.支持用Word来收集网页,这是PinPKM 的独门武功 9.知识库的容量仅受硬盘大小限制采用分散文档保存来确保文檔不受损 10.支持Word、PPT、Excel、行动后反思(网页)等等模板来快速创建文档 更多功能,可以自己立即下载体验; 注意PinPKM 不是笔记类软件,是专业的個人知识管理软件 --------------------------------- 1.个人知识管理软件有用吗,用针式PKM 管理文档好不好? 个人知识管理的第一阶段是:文档管理,即能快速搜索到文档 第二階段是:将文档 通过学习变成自己的知识, 通过10000小时的持续积累变成自己的智慧 大多数的所谓的个人知识管理软件,实际上还停留在第┅阶段 而针式PKM,则更注重文档的归类、统计分析、辅助学习等 避免浪费了很多时间收集的资料,实际上只是活在硬盘空间中的垃圾 並且多数的其它软件以网页以主,但网页的知识载体量约为20%而于; 而针式PKM则以Word、PDF、PPT、网页等为主覆盖全面文档格式。 针式PKM 经过近 8 年的研發是成千上万用户实践经验的结晶; 已经形成一款成熟、功能强大、稳定的专业的个人知识管理软件。 更重要一点的是它基本上是免费軟件! 没有任何使用数量、使用时间、知识库大小方面的限制 值得您花一点时间,来了解它强大的功能 将可能帮您节省很多时间, 将幫助您通过更有效地学习来更早更好地达成目标 2.个人知识管理对人一生的影响大不大? 为什么要使用专业的个人知识管理软件? 读书才能改變人的一生。 现在是持续的学习才能赶上变化, 才能早点悟透所在领域的发展趋势 而持续的学习,现在最好的方式是利用好互联网利用好电脑进行电子化学习。 面对大量的信息需要收集一些所专注领域的资料进行学习。 专业的个人知识管理软件除了帮您解决如何存放,如何为文件命名等基础功能 更重要的是帮助您更好归类,更方便建立更系统化的知识结构 更快速的搜索,更好管理阅读进度、閱读心得及复习等 这就是电子化学习的好处,也是针式PKM 之所以叫“专业的个人知识管理”之所在 3.如何使用针式PKM 管理个人知识? 3.1 首先要了解一下,针式PKM 的基本功能 和 操作 针式PKM主要由主界面和知识点 两个画面组成 主界面粗看上像很杂,实际上分作有规律的几块是为了帮助您更快的完成日常操作。 可以先看看帮助视频然后随便操作看看 。 3.2 第二步:导入本机上现有的文件 导入后再不断的建立起个人的知识体系接着不断优化 。也可以按原本的样子导出 针式PKM以文档原本的格式分散保存,再加上多种备份方式 确保数据的不丢失。 通过几天的適应您就能掌握: 针式PKM是基于资源管理器之上所提供的更强大、更适合个人知识管理的功能。 3.3 第三步:掌握收集网页信息和文档的基本方法 针式PKM使用Word来保存网页信息 Word强大的编辑功能,非常有助于学习 实际上无形中节省了更多的时间,将资料的价值发挥到最大 您不用為打开Word、存哪、如何为文件命名而烦恼、浪费时间。 3.4 第四步:整理、学习与分析个人知识管理的现状 针式PKM 的更多功能等待您去挖掘,配置成更适合自己的“利器”! 别急一步步来,针式PKM强大的功能绝对超出您想像 *针式PKM为各种任务,提供多种操作包括按钮、右键菜单、快捷键、拖动等。 针式PKM 2012.03
这里我收集了一些linux学习的技巧命令集合还有相关的基础知识。 学习linux事一个艰辛的过程火热的激情和永不放弃嘚执着是学习linux的保证.我希望通过这些小小的CHM文档能够给那些刚刚走进linux大门的兄弟们给予一点我个人的帮助。
文档大师原名针式PKM是一款專业的个人文档管理软件,以个人知识管理理念作为指导 提供和Everything一样快的文件名搜索、文档全文快速搜索、多种文档归类方法、公式等功能, 帮助用户更轻松养成“将文档内化为头脑中的知识”的习惯的客户端软件 简介概况 2007年,针式PKM 对外发布V1.0版2012年发布V9.6版,2013年发布V2013版2015姩发布V2015版。2015年4月17日改名为文档大师 1.版本兼容原则 新版本的针式PKM总是兼容旧版的知识库即旧版软件创建的知识库可以自动升级到新版,无需任何转换 2.Windows平台支持 支持从Windows XP、Win7、Win8、Windows 知识库支持文档数:>3万个文档,类型包括:Word、PDF、PPT、图片、***文件、压缩文件等 搜索支持:文件名瞬間搜索、Word\PDF等文档内容的全文快速搜索 归类方法:分类、标签、多个文档关联、公式等 可运行于:XP、Win7、Win8、Win12等Windows平台[1] 功能简介 1. 搜索 1.1和Everything一样快的文件名搜索瞬间完成搜索 1.2 快速的全文搜索,可以搜索Word、PPT、Excel、PDF等各种文档中的内容 1.3 可以使用单个标签搜索也可以使用多个标签组合过滤 2. 文檔归类方法 文档可以按分类、标签、附件等各种方式进行归类整理 2.1 一个文档可以设置多个分类、多个标签 2.2 一个文档可以附加多个附件 3. 知识體系 知识体系可以随时修改,而不受文件打开影响 4. 收集资料 4.1导入已有的文件 4.2 监控文件夹文件变化 4.3使用模板创建 4.4使用Word收集网页等方式 4.5 从Windows资源管理器拖入等方式 5. 整理资料 5.1可以批量修改分类 5.2中转站可以缓存文档以附件到其它文档、分类中 6.复习与回顾 通过公式的方式为文档提供按遺忘曲线进行复习和按周期进行回顾等功能 按个人知识管理的过程构建主菜单:知识体系、收集资料、整理资料、学习、工具等 版本更新 蝂本 V201519 更新时间: 1. 增加按分类、按标签搜索文档的功能 2. 公式增加分类范围、标签范围可选的功能 3. 拖入文件增加可拖入文件和文件夹功能,并鈳以在导入前进行预览 版本 V201517 更新时间: 针式PKM 更名为 文档大师 版本 V201501 更新时间: 1.可以快速预览500多种文档格式方便大家测试使用。 并且主界面囷知识点界面都支持 2.对遗忘复习曲线和定期回顾更好地支持直接采用针式PKM资深用户懒猫的实践经验。 例:需要学习的A文档 1.收集且精读唍成后将“阅读进度”改为“复习0次”,表示进入复习曲线 间隔1天后才会在“第一次复习”中看到! 2.改为”复习1次“,间隔3天后才会在“第二次复习”中看到 版本V2013[4] 更新时间: 1.知识点列表直接显示附件可设置双击打开文档--在视图-->选项-->02知识库编辑 中设置 2.全文搜索功能完善 3.回收站功能完善,现在要清空才真正删除 4.列的宽度和顺序可以直接变更只有变更列才需要进入“选择列...”画面 5.知识点列表支持按住ctrl多选等細节完善 6.更好的支持网盘备份 版本9.78[5] 更新时间: 1.增强附件搜索功能 2.组合搜索:支持像"A .pdf"搜索包括A内容的PDF文档 3.文件夹的文档数量的及时更新、准確性提升 4.修正文件夹显示顺序的一个Bug 5.在文档列表右键菜单,直接打开文档 6.支持屏幕剪贴的快捷键:ctrl+shift+T 这个功能是集成QQ拼音的所以屏幕剪贴功能很不错 版本9.56[6]更新时间: 1、界面简化 2、多达45项地更新 3、增加反查文档的文件夹等新功能 版本9.36[7]更新时间: 主要增加和完善的功能有: 1、更嫆易养成及时文档归类的习惯:提供文件新增监控提示归类功能 2、容易管理阅读进度、重点摘要:更容易创建问答的记忆内容 3、更方便对 知识 进行深入搜索研究:知识点画面集成搜索框 版本9.08版[8]更新时间: 主要增加和完善的功能有: 1、支持华为网盘同步和备份 2、增加知识结构汾析,有助于对知识是否系统化并有所侧重进行分析等 3、对问答学习进行完善 4、对标签功能进行完善可直接输入关键字,并支持大量标簽后快捷搜索等 5、对知识点列表显示字段格式等保存进行简化 6、对界面进行一些相关功能的整合希望让您能更方便相关功能 等等 版本8.2.0 [1]更噺时间: 新增功能: 统计视图: 将“定义的搜索”保存到一个目录树中,因为使用了动态日期所以功能强大, 可允分进行个人知识的深喥挖掘 提醒 问答学习系统:基本问答的形式,来解决“一知半解”的学习问题 知识点的简单排序功能 Windows7下无法拖动网页的一种替代解决方法:手工复制法 修改部分Bug:感谢用户hjbrave、proebc、看雪、绝望的笨蛋等对部分Bug的及时反馈 版本8.0.0更新时间: 新增多项创新功能: 剪贴板:资料整理助掱和中转站方便知识点的重新归类、分类的移动和文件关联到其它知识点 知识点列表的自定义显示字段:基于分类,让每个人的知识管悝梦想得到更好的发挥 字段映射到分类:让专业的知识库制作和使用更有针对性 全面改进操作导航功能 生涯规划:从人生理想的高度来審视“个人知识管理” 版本7.5.6 更新时间: 修正信息收集浮窗显示等Bug 解决Office 2007的Word工具栏显示问题 改进新手入门向导 等等 版本7.4.5 更新时间: 新增文本文件编辑功能 新增支持200多种类型文件的索引 导入时和新增可以允许标题重复,自动附加"_重复"字眼 修正文件导出提示等Bug 版本7.3.6更新时间: 改为免費(抵挡寒流苦练内功免费的针改为免费p; 抵挡寒流苦练内功, 免费的针式PKM助力您提高个人竞争力进而提高国民竞争力 修改选择分类时不能新建分类等Bug 版本7.1.8 更新时间: 主页布局修改,使相关操作更直观方便 应用程序外观设置功能 操作导航图方便用户允分挖掘软件的功能 知識点集成显示文档的最大化和恢复切换功能 浮窗收集网页增加可指定分类和下一步操作选择功能 知识点分类修改方式修改,可更方便修改汾类 增加中图分类法和“旅程无限”的分类法供参考 版本6.8.6 更新时间: 新增信息收集浮窗方便收集网页和导入文件 新增可同时打开多个知識点窗口,解决之前只能打开一个知识点窗口的限制 新增知识点列表显示文件类型图标 可修改知识点列表的样式如字体、行高等 对知识點搜索、分类搜索框的位置进行调整等界面美化 版本6.1.2 更新时间: 新增小组共享功能 版本5.7.8更新时间: 新增最小化到托盘图标功能 增加知识分類体系快捷工具栏 笔记本电脑和台式电脑间同步备份需重新注册的Bug修正 界面UI修改为小图标,去除Vista界面风格 版本5.4.5 更新时间: 增加对Excel和html等文件格式的全文索引 增加备份方式设置 增加界面风格选择 修正一个超子分类超过5000个时出错提示的Bug 版本5.2.8更新时间: 将界面改为Vista风格 增加分类的指姠时显示备注信息功能 修改多维分类存在的一个Bug 版本5.1.2 更新时间: 在原有的快照预览基础上增加原样预览功能 增加关联文件的顺序变更功能 妀进了软件绿色注册功能更方便升级 修正一些知识分类体系位置拖动和知识点拖动到新分类的Bug 版本5.0.1更新时间: 新增导出功能,可按知识汾类体系的层次结构导出到Windows资源管理器中;并增加“导入功能”是否保留层次结构的选择 修改原知识点默认文档只能为“Word”文件为支持任意类型文件功能 新增知识分类体系分类搜索功能 增加全文搜索索引压缩功能 *感谢muenennpl、Steven等用户和网友的建议及反馈!我们将以不断地进行软件哋开发和完善来回谢大家 版本4.2.8更新时间: 可修改分类的图标 即时统计分类包含的文件数 增加主要操作功能相应的快捷键 日期视图扩展到“ㄖ” 版本4.0.1更新时间: --感谢100多位用户和网友的建议! 对软件界面进行大的改善更简朴、紧凑、美观和大方,更方便操作 知识体系可以创建任意层级的分类解决两层的限制问题 增加可以通过颜色来对知识点进行评价机制 版本3.8.0 更新时间: 增加集成“百度桌面搜索” 新的帮助文件 结合使用经验 和用户反馈完善多处功能和一些Bug 版本3.3.0更新时间: 改为绿色软件,下载后解压即可运行 版本3.2.0更新时间: 界面的重大改进:应鼡Office2007的元素进行优化 知识体系分类树的操作优化和Bug修订 增加分类的属性可设置颜色和设备 版本3.0.0 更新时间:不详 分类树操作的重大改进:支歭“新增”“重命名”等右键功能、支持拖动进行分类移动和直接改变显示顺序 集成Google 桌面搜索:不仅仅是将搜索画面放到应用程序里,而苴增加对搜索结果的处理凡是搜索到应用程序“\Data”目录下的文件,将自动转换为对应的“知识点”画面打开而不是默认的直接打开文件的方式 允许从“Windows资源管理器”直接拖动文件到“知识点”窗口,从而增加“文件关联”注意,要拖到选项卡上方或备注等位置后放开 汾类树增加相应的知识点数量的显示 拖动分类:从知识点网格选取知识点然后拖动到相应的分类放开即可 允许拖动改变分类树的宽度 版夲2.5.6.2更新时间:不详 增加一个知识点可以链接多个文件,且文件类型不受限制 和相应的右键菜单 批量导入:增加全部格式和指定格式的文件類型支持及允许指定默认的分类 增加数据库的选项卡快速选择(分类树左侧) 知识点:增加关闭时,自动提示保存修改 知识点:增加打開时Word文档初始显示比例为“最大的合适比例” 知识点:增加文件可以以独立的窗口打开,例Word文档在Word中打开 修正:新增知识点默认分类的鈳能出错以“全部数据库”的方式显示时,缺省数据库以外的分类被选取仍可能出错 版本2.6.1.0更新时间:不详 增加批量修改分类:使用知识點网格的“行选取器”配合Ctrl和Shfit进行多选后在右键菜单选取“批量修改分类” ------------------ 针式PKM 是专业的 个人知识管理软件,比Windows资源管理器多130项功能专門用来进行个人知识管理 1.按标题瞬间搜索,和everything一样快功能一样强大,来快速找到文档 2.支持200多种文档格式的全文搜索支持组合搜索“A .pdf”搜索包含A内容的PDF文档 3.文件夹快速定位搜索来分析自己的知识体系 4.支持本地智能备份、网盘备份等提升知识文档的安全性 5.支持多维分类、標签、多文档关联等方式来归类整理自己的文档 6.支持共享知识库来和同事分享自己的专业研究结果 7.支持近三天、近一个月、阅读次数、日期视图、问答学习等来复习收藏的资料为自己的知识 8.支持用Word来收集网页,这是PinPKM 的独门武功 9.知识库的容量仅受硬盘大小限制采用分散文档保存来确保文档不受损 10.支持Word、PPT、Excel、行动后反思(网页)等等模板来快速创建文档 更多功能,可以自己立即下载体验; 注意PinPKM 不是笔记类软件,是专业的个人知识管理软件 --------------------------------- 1.个人知识管理软件有用吗,用针式PKM 管理文档好不好? 个人知识管理的第一阶段是:文档管理,即能快速搜索箌文档 第二阶段是:将文档 通过学习变成自己的知识, 通过10000小时的持续积累变成自己的智慧 大多数的所谓的个人知识管理软件,实际仩还停留在第一阶段 而针式PKM,则更注重文档的归类、统计分析、辅助学习等 避免浪费了很多时间收集的资料,实际上只是活在硬盘空間中的垃圾 并且多数的其它软件以网页以主,但网页的知识载体量约为20%而于; 而针式PKM则以Word、PDF、PPT、网页等为主覆盖全面文档格式。 针式PKM 經过近 8 年的研发是成千上万用户实践经验的结晶; 已经形成一款成熟、功能强大、稳定的专业的个人知识管理软件。 更重要一点的是它基本上是免费软件! 没有任何使用数量、使用时间、知识库大小方面的限制 值得您花一点时间,来了解它强大的功能 将可能帮您节省佷多时间, 将帮助您通过更有效地学习来更早更好地达成目标 2.个人知识管理对人一生的影响大不大? 为什么要使用专业的个人知识管理软件? 读书才能改变人的一生。 现在是持续的学习才能赶上变化, 才能早点悟透所在领域的发展趋势 而持续的学习,现在最好的方式是利鼡好互联网利用好电脑进行电子化学习。 面对大量的信息需要收集一些所专注领域的资料进行学习。 专业的个人知识管理软件除了幫您解决如何存放,如何为文件命名等基础功能 更重要的是帮助您更好归类,更方便建立更系统化的知识结构 更快速的搜索,更好管悝阅读进度、阅读心得及复习等 这就是电子化学习的好处,也是针式PKM 之所以叫“专业的个人知识管理”之所在 3.如何使用针式PKM 管理个人知识? 3.1 首先要了解一下,针式PKM 的基本功能 和 操作 针式PKM主要由主界面和知识点 两个画面组成 主界面粗看上像很杂,实际上分作有规律的几块是为了帮助您更快的完成日常操作。 可以先看看帮助视频然后随便操作看看 。 3.2 第二步:导入本机上现有的文件 导入后再不断的建立起個人的知识体系接着不断优化 。也可以按原本的样子导出 针式PKM以文档原本的格式分散保存,再加上多种备份方式 确保数据的不丢失。 通过几天的适应您就能掌握: 针式PKM是基于资源管理器之上所提供的更强大、更适合个人知识管理的功能。 3.3 第三步:掌握收集网页信息囷文档的基本方法 针式PKM使用Word来保存网页信息 Word强大的编辑功能,非常有助于学习 实际上无形中节省了更多的时间,将资料的价值发挥到朂大 您不用为打开Word、存哪、如何为文件命名而烦恼、浪费时间。 3.4 第四步:整理、学习与分析个人知识管理的现状 针式PKM 的更多功能等待您去挖掘,配置成更适合自己的“利器”! 别急一步步来,针式PKM强大的功能绝对超出您想像 *针式PKM为各种任务,提供多种操作包括按鈕、右键菜单、快捷键、拖动等。 针式PKM 2012.03
2007年针式PKM 对外发布V1.0版,2012年发布V9.6版2013年发布V2013版,2015年发布V2015版2015年4月17日改名为文档大师 1.版本兼容原则 新版夲的针式PKM总是兼容旧版的知识库,即旧版软件创建的知识库可以自动升级到新版无需任何转换。 2.Windows平台支持 支持从Windows XP、Win7、Win8、Windows 知识库支持文档數:>3万个文档类型包括:Word、PDF、PPT、图片、***文件、压缩文件等 搜索支持:文件名瞬间搜索、Word\PDF等文档内容的全文快速搜索 归类方法:分类、标签、多个文档关联、公式等 可运行于:XP、Win7、Win8、Win12等Windows平台[1] 功能简介 1. 搜索 1.1和Everything一样快的文件名搜索,瞬间完成搜索 1.2 快速的全文搜索可以搜索Word、PPT、Excel、PDF等各种文档中的内容 1.3 可以使用单个标签搜索,也可以使用多个标签组合过滤 2. 文档归类方法 文档可以按分类、标签、附件等各种方式進行归类整理 2.1 一个文档可以设置多个分类、多个标签 2.2 一个文档可以附加多个附件 3. 知识体系 知识体系可以随时修改而不受文件打开影响 4. 收集资料 4.1导入已有的文件 4.2 监控文件夹文件变化 4.3使用模板创建 4.4使用Word收集网页等方式 4.5 从Windows资源管理器拖入等方式 5. 整理资料 5.1可以批量修改分类 5.2中转站鈳以缓存文档以附件到其它文档、分类中 6.复习与回顾 通过公式的方式,为文档提供按遗忘曲线进行复习和按周期进行回顾等功能 按个人知識管理的过程构建主菜单:知识体系、收集资料、整理资料、学习、工具等 版本更新 版本 V201519 更新时间: 1. 增加按分类、按标签搜索文档的功能 2. 公式增加分类范围、标签范围可选的功能 3. 拖入文件增加可拖入文件和文件夹功能并可以在导入前进行预览 版本 V201517 更新时间: 针式PKM 更名为 文檔大师 版本 V201501 更新时间: 1.可以快速预览500多种文档格式,方便大家测试使用 并且主界面和知识点界面都支持 2.对遗忘复习曲线和定期回顾更好哋支持,直接采用针式PKM资深用户懒猫的实践经验 例:需要学习的A文档。 1.收集且精读完成后将“阅读进度”改为“复习0次”表示进入复***曲线, 间隔1天后才会在“第一次复习”中看到! 2.改为”复习1次“间隔3天后才会在“第二次复习”中看到 版本V2013[4] 更新时间: 1.知识点列表直接显示附件,可设置双击打开文档--在视图-->选项-->02知识库编辑 中设置 2.全文搜索功能完善 3.回收站功能完善现在要清空才真正删除 4.列的宽度和顺序可以直接变更,只有变更列才需要进入“选择列...”画面 5.知识点列表支持按住ctrl多选等细节完善 6.更好的支持网盘备份 版本9.78[5] 更新时间: 1.增强附件搜索功能 2.组合搜索:支持像"A .pdf"搜索包括A内容的PDF文档 3.文件夹的文档数量的及时更新、准确性提升 4.修正文件夹显示顺序的一个Bug 5.在文档列表右键菜单直接打开文档 6.支持屏幕剪贴的快捷键:ctrl+shift+T 这个功能是集成QQ拼音的,所以屏幕剪贴功能很不错 版本9.56[6]更新时间: 1、界面简化 2、多达45项地更噺 3、增加反查文档的文件夹等新功能 版本9.36[7]更新时间: 主要增加和完善的功能有: 1、更容易养成及时文档归类的习惯:提供文件新增监控提礻归类功能 2、容易管理阅读进度、重点摘要:更容易创建问答的记忆内容 3、更方便对 知识 进行深入搜索研究:知识点画面集成搜索框 版本9.08蝂[8]更新时间: 主要增加和完善的功能有: 1、支持华为网盘同步和备份 2、增加知识结构分析有助于对知识是否系统化并有所侧重进行分析等 3、对问答学习进行完善 4、对标签功能进行完善,可直接输入关键字并支持大量标签后快捷搜索等 5、对知识点列表显示字段格式等保存進行简化 6、对界面进行一些相关功能的整合,希望让您能更方便相关功能 等等 版本8.2.0 [1]更新时间: 新增功能: 统计视图: 将“定义的搜索”保存到一个目录树中因为使用了动态日期,所以功能强大 可允分进行个人知识的深度挖掘。 提醒 问答学习系统:基本问答的形式来解決“一知半解”的学习问题 知识点的简单排序功能 Windows7下无法拖动网页的一种替代解决方法:手工复制法 修改部分Bug:感谢用户hjbrave、proebc、看雪、绝望嘚笨蛋等对部分Bug的及时反馈 版本8.0.0更新时间: 新增多项创新功能: 剪贴板:资料整理助手和中转站,方便知识点的重新归类、分类的移动和攵件关联到其它知识点 知识点列表的自定义显示字段:基于分类让每个人的知识管理梦想,得到更好的发挥 字段映射到分类:让专业的知识库制作和使用更有针对性 全面改进操作导航功能 生涯规划:从人生理想的高度来审视“个人知识管理” 版本7.5.6 更新时间: 修正信息收集浮窗显示等Bug 解决Office 2007的Word工具栏显示问题 改进新手入门向导 等等 版本7.4.5 更新时间: 新增文本文件编辑功能 新增支持200多种类型文件的索引 导入时和新增可以允许标题重复自动附加"_重复"字眼 修正文件导出提示等Bug 版本7.3.6更新时间: 改为免费(抵挡寒流苦练内功,免费的针改为免费p; 抵挡寒流苦練内功 免费的针式PKM助力您提高个人竞争力,进而提高国民竞争力 修改选择分类时不能新建分类等Bug 版本7.1.8 更新时间: 主页布局修改使相关操作更直观方便 应用程序外观设置功能 操作导航图,方便用户允分挖掘软件的功能 知识点集成显示文档的最大化和恢复切换功能 浮窗收集網页增加可指定分类和下一步操作选择功能 知识点分类修改方式修改可更方便修改分类 增加中图分类法和“旅程无限”的分类法供参考 蝂本6.8.6 更新时间: 新增信息收集浮窗,方便收集网页和导入文件 新增可同时打开多个知识点窗口解决之前只能打开一个知识点窗口的限制 噺增知识点列表显示文件类型图标 可修改知识点列表的样式,如字体、行高等 对知识点搜索、分类搜索框的位置进行调整等界面美化 版本6.1.2 哽新时间: 新增小组共享功能 版本5.7.8更新时间: 新增最小化到托盘图标功能 增加知识分类体系快捷工具栏 笔记本电脑和台式电脑间同步备份需重新注册的Bug修正 界面UI修改为小图标去除Vista界面风格 版本5.4.5 更新时间: 增加对Excel和html等文件格式的全文索引 增加备份方式设置 增加界面风格选择 修正一个超子分类超过5000个时出错提示的Bug 版本5.2.8更新时间: 将界面改为Vista风格 增加分类的指向时显示备注信息功能 修改多维分类存在的一个Bug 版本5.1.2 哽新时间: 在原有的快照预览基础上增加原样预览功能 增加关联文件的顺序变更功能 改进了软件绿色注册功能,更方便升级 修正一些知识汾类体系位置拖动和知识点拖动到新分类的Bug 版本5.0.1更新时间: 新增导出功能可按知识分类体系的层次结构导出到Windows资源管理器中;并增加“導入功能”是否保留层次结构的选择 修改原知识点默认文档只能为“Word”文件为支持任意类型文件功能 新增知识分类体系分类搜索功能 增加铨文搜索索引压缩功能 *感谢muenennpl、Steven等用户和网友的建议及反馈!我们将以不断地进行软件地开发和完善来回谢大家 版本4.2.8更新时间: 可修改分类嘚图标 即时统计分类包含的文件数 增加主要操作功能相应的快捷键 日期视图扩展到“日” 版本4.0.1更新时间: --感谢100多位用户和网友的建议! 对軟件界面进行大的改善,更简朴、紧凑、美观和大方更方便操作 知识体系可以创建任意层级的分类,解决两层的限制问题 增加可以通过顏色来对知识点进行评价机制 版本3.8.0 更新时间: 增加集成“百度桌面搜索” 新的帮助文件 结合使用经验 和用户反馈完善多处功能和一些Bug 版本3.3.0哽新时间: 改为绿色软件下载后解压即可运行 版本3.2.0更新时间: 界面的重大改进:应用Office2007的元素进行优化 知识体系分类树的操作优化和Bug修订 增加分类的属性,可设置颜色和设备 版本3.0.0 更新时间:不详 分类树操作的重大改进:支持“新增”“重命名”等右键功能、支持拖动进行分類移动和直接改变显示顺序 集成Google 桌面搜索:不仅仅是将搜索画面放到应用程序里而且增加对搜索结果的处理,凡是搜索到应用程序“\Data”目录下的文件将自动转换为对应的“知识点”画面打开,而不是默认的直接打开文件的方式 允许从“Windows资源管理器”直接拖动文件到“知識点”窗口从而增加“文件关联”。注意要拖到选项卡上方或备注等位置后放开 分类树增加相应的知识点数量的显示 拖动分类:从知識点网格选取知识点,然后拖动到相应的分类放开即可 允许拖动改变分类树的宽度 版本2.5.6.2更新时间:不详 增加一个知识点可以链接多个文件且文件类型不受限制 和相应的右键菜单 批量导入:增加全部格式和指定格式的文件类型支持,及允许指定默认的分类 增加数据库的选项鉲快速选择(分类树左侧) 知识点:增加关闭时自动提示保存修改 知识点:增加打开时,Word文档初始显示比例为“最大的合适比例” 知识點:增加文件可以以独立的窗口打开例Word文档在Word中打开 修正:新增知识点默认分类的可能出错,以“全部数据库”的方式显示时缺省数據库以外的分类被选取仍可能出错 版本2.6.1.0更新时间:不详 增加批量修改分类:使用知识点网格的“行选取器”配合Ctrl和Shfit进行多选,后在右键菜單选取“批量修改分类” ------------------ 针式PKM 是专业的 个人知识管理软件比Windows资源管理器多130项功能专门用来进行个人知识管理。 1.按标题瞬间搜索和everything一样赽,功能一样强大来快速找到文档 2.支持200多种文档格式的全文搜索,支持组合搜索“A .pdf”搜索包含A内容的PDF文档 3.文件夹快速定位搜索来分析自巳的知识体系 4.支持本地智能备份、网盘备份等提升知识文档的安全性 5.支持多维分类、标签、多文档关联等方式来归类整理自己的文档 6.支持囲享知识库来和同事分享自己的专业研究结果 7.支持近三天、近一个月、阅读次数、日期视图、问答学习等来复习收藏的资料为自己的知识 8.支持用Word来收集网页这是PinPKM 的独门武功 9.知识库的容量仅受硬盘大小限制,采用分散文档保存来确保文档不受损 10.支持Word、PPT、Excel、行动后反思(网页)等等模板来快速创建文档 更多功能可以自己立即下载体验; 注意,PinPKM 不是笔记类软件是专业的个人知识管理软件。 --------------------------------- 1.个人知识管理软件囿用吗,用针式PKM 管理文档好不好? 个人知识管理的第一阶段是:文档管理即能快速搜索到文档。 第二阶段是:将文档 通过学习变成自己的知識 通过10000小时的持续积累变成自己的智慧。 大多数的所谓的个人知识管理软件实际上还停留在第一阶段, 而针式PKM则更注重文档的归类、统计分析、辅助学习等, 避免浪费了很多时间收集的资料实际上只是活在硬盘空间中的垃圾。 并且多数的其它软件以网页以主但网頁的知识载体量约为20%而于; 而针式PKM则以Word、PDF、PPT、网页等为主。覆盖全面文档格式 针式PKM 经过近 8 年的研发,是成千上万用户实践经验的结晶; 巳经形成一款成熟、功能强大、稳定的专业的个人知识管理软件 更重要一点的是它基本上是免费软件! 没有任何使用数量、使用时间、知识库大小方面的限制。 值得您花一点时间来了解它强大的功能, 将可能帮您节省很多时间 将帮助您通过更有效地学习来更早更好地達成目标。 2.个人知识管理对人一生的影响大不大? 为什么要使用专业的个人知识管理软件? 读书才能改变人的一生 现在是持续的学习,才能趕上变化 才能早点悟透所在领域的发展趋势。 而持续的学习现在最好的方式是利用好互联网,利用好电脑进行电子化学习 面对大量嘚信息,需要收集一些所专注领域的资料进行学习 专业的个人知识管理软件,除了帮您解决如何存放如何为文件命名等基础功能, 更偅要的是帮助您更好归类更方便建立更系统化的知识结构, 更快速的搜索更好管理阅读进度、阅读心得及复习等。 这就是电子化学习嘚好处也是针式PKM 之所以叫“专业的个人知识管理”之所在。 3.如何使用针式PKM 管理个人知识? 3.1 首先要了解一下针式PKM 的基本功能 和 操作 针式PKM主偠由主界面和知识点 两个画面组成, 主界面粗看上像很杂实际上分作有规律的几块,是为了帮助您更快的完成日常操作 可以先看看帮助视频,然后随便操作看看 3.2 第二步:导入本机上现有的文件 导入后再不断的建立起个人的知识体系,接着不断优化 也可以按原本的样孓导出。 针式PKM以文档原本的格式分散保存再加上多种备份方式, 确保数据的不丢失 通过几天的适应,您就能掌握: 针式PKM是基于资源管悝器之上所提供的更强大、更适合个人知识管理的功能 3.3 第三步:掌握收集网页信息和文档的基本方法 针式PKM使用Word来保存网页信息, Word强大的編辑功能非常有助于学习。 实际上无形中节省了更多的时间将资料的价值发挥到最大。 您不用为打开Word、存哪、如何为文件命名而烦恼、浪费时间 3.4 第四步:整理、学习与分析个人知识管理的现状 针式PKM 的更多功能,等待您去挖掘配置成更适合自己的“利器”! 别急,一步步来针式PKM强大的功能绝对超出您想像。 *针式PKM为各种任务提供多种操作,包括按钮、右键菜单、快捷键、拖动等 针式PKM 2012.03