架构设计
lost7788
usb
展开
-
c++ 插件技术的实现
应用程序中使用插件技术,有利于日后的版本更新、维护(比如打补丁)和功能扩展,是一种很实用的技术。其最大的特点是更新插件时无需重新编译主程序,对于一个设计良好的应用系统而言,甚至可以做到业务功能的在线升级。本文介绍了linux下用C++实现插件的一个简单实例,希望能对大家有所启发。 为了能做到更新插件时无需重新编译主程序,要求主程序中定义的接口是定死的,而接口的实现被放到了具体转载 2013-08-14 01:01:57 · 2285 阅读 · 1 评论 -
软件架构
软件架构 软件架构:没有最好只有最适用 如何规避软件架构风险固化需求完善的业务原型完整架构规范80%的经验架构+20%的创新架构 软件架构通用的服务模式类工厂服务缓存服务(内存服务)配置服务异常处理服务日志服务加密服务验证服务和授权服务消息队列部署服务事务处理服务帮助服务数据验证服务 成功的软件开发1、开发技术 (面向对象分析与技术、结构化设计方法、基于构件的开发方法)2、开发过程(RUP、CMM转载 2013-11-04 14:41:26 · 1028 阅读 · 0 评论 -
软件需求学习
http://blog.csdn.net/byxdaz/article/details/4633853转载 2013-11-04 15:35:09 · 659 阅读 · 0 评论 -
如何写结构优美的代码
结构优美的代码,是每个程序员的追求。可能这个没有严格的标准,但是有些原则会有助编写结构优美的代码。 1.对代码的逻辑层次要有感觉。比如大体上,一个程序会分三个层次:界面层,逻辑层,数据层。简化后一般也有两个层次:界面和逻辑层。逻辑层是去掉外表的,内在的,实质的东西。一般来说,就是表现为对数据的一组操作。而界面层,是关注程序应该如何和用户沟通的。比如可视的视窗转载 2013-10-31 15:50:33 · 818 阅读 · 0 评论 -
为什么要使用句柄?
2013-04-15 15:03:11| 分类: 编程 | 标签:handle |字号 订阅改编程序遇到句柄,想着不使用句柄行么?为什么要使用句柄?上网查找答案,得到一个还过得去的答案如下:A:Windows系统中有许多内核对象(这里的对象不完全等价于"面向对象程序设计"一词中的"对象",虽然实质上还真差不多),比如打开的文件,创建的线程,程序的窗转载 2013-10-29 14:43:41 · 1207 阅读 · 0 评论 -
软件架构模式的种类
在做软件架构设计时,根据不同的抽象层次可分为三种不同层次的模式:架构模式(Architectural Pattern)、设计模式(Design Pattern)、代码模式(Coding Pattern)。架构模式是一个系统的高层次策略,涉及到大尺度的组件以及整体性质和力学。架构模式 的好坏可以影响到总体布局和框架性结构。设计模式是中等尺度的结构策略。这些中等尺度的结构实现了一些大尺度组件的转载 2013-10-28 19:52:36 · 592 阅读 · 0 评论 -
编写可移植C/C++程序的要点
以前做过两年C++程序移植工作,从Win32平台移植到Linux平台。大约有上百万行C/C++代码,历时一年多。在开发Win32版本时,已经强调了程序的可植性,无奈Win32团队里对Linux精通的人比较少,很多问题没有想到,直到后来移植工作开始时,才发现移植并非像想的那样简单。后来,我发现大家对移植工程师都比较轻视,不管是从工资待遇还是管理层的态度来看都是这样。他们往往认为,转载 2013-10-23 11:24:19 · 608 阅读 · 0 评论 -
XPCOM学习开发文档
http://blog.csdn.net/chenyanxu/article/details/4511050转载 2013-10-22 20:03:36 · 725 阅读 · 0 评论 -
代码重构方向原则指导
重构是一种对软件进行修改的行为,但它并不改变软件的功能特征,而是通过让软件程序更清晰,更简洁和更条理来改进软件的质量。代码重构之于软件,相当于结构修改之于散文。每次人们对如何对代码进行重构的讨论就像是讨论如果对一篇文学作品进行修订一样无休无止。所有人都知道应该根据项目的自身情况来对代码进行重构,而重构是无止境的。莫扎特从来不不对他的作品进行修订,特罗洛普对自己作品修订的恰到好处,大多数作家认为他们转载 2013-10-22 00:16:39 · 654 阅读 · 0 评论 -
什么是重构,什么不是重构
有时候,会有程序员跑到我这里说他们不喜欢某个东西的设计,“我们需要给它来个全面的重构”,来纠正里面的错误。哦,哦。这听起来可不是个好主意。而且这听起来也不是重构… 重构(Refactoring)这个词最初由Martin Fowler 和 Kent Beck给下的定义,它是一种修改,使软件的内部结构更容易理解,在不改变软件的可见行为方式前提下使软件更容易变更…它是一种有节制的整转载 2013-10-22 00:15:42 · 564 阅读 · 0 评论 -
软件插件技术的原理与实现
摘要:基于插件的应用系统拥有良好的可扩充性、可定制性和可维护性。1. 引言插件是近年来十分常见的一种技术。插件结构有助于编写有良好的扩充和定制功能的应用程序。许多软件甚至操作系统或其外壳程序都使用了这种技术,著名的使用插件机制的软件是Winamp, Winamp早期的成功虽然在于其快速的解码引擎,但在MP3播放器中能够保特长久的霸主地位。也正是由于内置了健全的插转载 2013-08-14 00:51:31 · 4207 阅读 · 0 评论 -
插件的概念及原理
插件的本质在于不修改程序主体(平台)的情况下对软件功能进行扩展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,也就是实现真正意义上的“即插即用”软件开发。平台+插件软件结构是将一个待开发的目标软件分为两部分,一部分为程序的主体或主框架,可定义为平台,另一部分为功能扩展或补充模块,可定义为插件。 在进行软件开发之前,是否采用平转载 2013-08-14 00:48:47 · 1760 阅读 · 1 评论 -
linux 动态链接的创建和使用
大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library)。这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部分,而是根据执行程序需要按需装入,同时其执行代码可在多个执行程序间共享,节省了空间,提高了效率,具备很高的灵活性,得到越来越多程序员和用户的青睐。那么,在LINUX系统中有无这样的函数库呢?转载 2013-11-22 11:13:26 · 1168 阅读 · 0 评论