软件应该是可以扩展的,但是不可以修改的。对扩展都是开放的,模块式可以扩展来满足新的行为,我们可以改变模块的功能。OCP的好处是,尽可能的减少修改模块的次数和范围,从而提高代码的可维护性,复用性。比如操作系统的升级补丁,在修复bug的情况下,肯定是越小越小。如果说OCP做的不好,每次修改需要修改大量的文件,那就会导致补丁很大。对于修改是封闭的,在扩展模块的时候,不必改动源代码的二进制文件,不管是.o文件还是.dll文件都不用改动。问题的核心是怎么样改变了模块
系统 2019-08-12 01:32:46 2885
本帮助主题展示了使用Zato发送AMQP消息所需的内容.Zato基于Python的为SOA、云集成和后端服务的企业服务总线(ESB)。代码演示下面是一些需要的代码:fromzato.server.serviceimportServiceclassMyService(Service):defhandle(self):msg='Mymessage'conn_name='MyCRMconnection'exchange_name='Myexchange'rout
系统 2019-09-27 17:49:25 2884
对于手机、相机等设备拍摄的照片,由于手持方向的不同,拍出来的照片可能是旋转0°、90°、180°和270°。即使在电脑上利用软件将其转正,他们的exif信息中还是会保留方位信息。在用PIL读取这些图像时,读取的是原始数据,也就是说,即使电脑屏幕上显示是正常的照片,用PIL读进来后,也可能是旋转的图像,并且图片的size也可能与屏幕上的不一样。对于这种情况,可以利用PIL读取exif中的orientation信息,然后根据这个信息将图片转正后,再进行后续操作
系统 2019-09-27 17:47:47 2884
动画图解一般看不见的机械原理动画图解一般看不见的机械原理——更新多款发动机,——现代生活离不开各种机械,无数复杂的机械走进了我们寻常百姓的生活中,小到我们家里客厅墙上的挂钟,大到出门上班用以代步的汽车,都离不开机械在其中默默的工作。不知道你有没有偶尔想问,究竟是什么样的机械,通过怎样的方式在运转,让我们的生活更便利呢?平日里,我们习惯了在产品外观上品头论足,感慨设计师的精彩创意,那么今天,我们来通过以下动画来感受一下工程师们那不亚于艺术家的机械设计的美感吧
系统 2019-08-29 23:30:23 2884
摘要本文将对“MVC公告发布系统”的发布公告功能添加日志功能和异常处理功能,借此来讨论ASP.NETMVC中拦截器的使用方法。一个小难题我们继续完善“MVC公告发布系统”,这次,我们的需求是对公告发布功能添加日志记录能力,即在发布公告前,记录一次,在公告发布成功后,再记录一次。然后还要使得其具备异常处理,即当业务组件出现问题时,跳转到相应的错误页面并显示相应提示。有人可能笑了,这有什么难的,在DoRelease这个Action的开始和结束处各加入相应日志功
系统 2019-08-29 23:25:05 2884
很不好意思,开始下载链接放错了,现在是新的。这是前面那个struts1.x+spring1.x+hibernater3.1的升级版本。spring2.0与1.x区别不大,可以平滑的过度,我也就是把spring1.28换成了spring2.0.3,算是升级到spring2.0了。struts2.0基本就是webwork2.2,与以前的struts1.x可以说没任何关系了。因为是第一次用struts2.0,也是第一次用webwork,所以有很多不完善,不规范的
系统 2019-08-29 23:21:10 2884
asp服务器组件asp(activeserverpage)是当今开发交互式web页面、web数据库应用最强大的技术。在其中可以混用html、dhtml、activex、vbscript或javascript。当这些技术都无法奏效时(例如进行高密度的数学运算、封装特定的数据库处理逻辑等),可以使用服务器组件(serversidecomponent)进一步扩展asp的能力。serversidecomponent实际上是运行在服务器上的一个dll,它可以完成常规
系统 2019-08-29 23:16:54 2884
Win32OpenGL编程(3)基本图元(点,直线,多边形)的绘制writeby九天雁翎(JTianLing)--blog.csdn.net/vagrxie讨论新闻组及文件一、提要在前面两篇相关文章《Win32OpenGL编程(1)Win32下的OpenGL编程必须步骤》《Win32OpenGL编程(2)寻找缺失的OpenGL函数》中,我们已经建立了一个较为全面的Win32OpenGL编程环境及一个简单的框架,并且,实际上掌握了OpenGL在Windows
系统 2019-08-29 22:03:16 2884
该工具的下载地址如下:http://www.ej-technologies.com/download/exe4j/files.php我下的是最新版本的安装包,安装时会出现这个:它要求JDK至少1.5以上,点Locate找到你机器上安装的%JDK1.5%/bin/java.exe就可以进行安装了。下面就安装后的一些使用事项说一下:第1步跳过。第2步,我们事先已经制作好了jar文件,故选下面一个"JARinEXE":第3步,第一个空随便写,下面一个写出你想要将
系统 2019-08-12 09:30:20 2884
在装evc(EmbeddedVisualC++,嵌入式开发软件)时,按顺序依次安装:->MicrosoftActiveSync_setup_cn-4.1.exe->eVC4.exe->evc4sp4.exe->MicrosoftPocketPC2003SDK.msi->MicrosoftSMARTPHONE2003SDK.msi->WindowsMobile2003SecondEditionEmulatorImagesforSmartphone-CHS.m
系统 2019-08-12 09:29:52 2884