我偶然在google或yahoo这样的搜索引擎搜索GRASP发现,除了国外的网站,国内网站多介绍和讨论GoF而很少介绍GRASP,即使这少量的文章也讲解非常粗略。个人认为作为优秀的开发人员,理解GRASP比GoF更重要,故写此文章。前面我在《(原创)一个优秀软件开发人员的必修课:GRASP软件开发模式浅析》中介绍了使用GRASP的目的,今天允许我调换一下顺序,先从低耦合讲起,因为诸如创建者模式、信息专家模式的根本目的就是降低耦合。1.低耦合(LowCoup
系统 2019-08-29 21:58:58 2118
经过大型J2EE项目实测,Log4j的日志输出对系统性能有比较显著的影响,尤其是日志输入量比较大时,例如:系统并发量很大,显示Hibernate的sql和参数日志,或日志级别较低DEBUG或INFO时等。使用AsyncLogger控制日志输出可以显著改善系统性能。1)测试用例:同步文件日志输出测试功能:模块管理功能,输出HibernateSQL和参数,输出到文件,配置如下:
系统 2019-08-12 09:30:18 2118
外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。一,结构:门面(Facade)角色:客户端可以调用这个角色的方法。此角色知晓相关的(一个或者多个)子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。子系统(subsystem)角色:可以同时有一
系统 2019-08-12 09:29:46 2118
去年11月,我加入了N记,紧接着进入新员工训练营。开始一次简单的中间件测试工具编写任务。这次训练营体验给我的感觉就是:大公司不愧是大公司,这回我终于可以安心学点核心技术了。任务:这个训练营有两个任务,一是熟悉这边的敏捷开发流程;二是在训练营里做一定的编码,用python编写一个测试工具(桩,stub)。我们要做的这个工具,是用来测试我们一种通信设备(B)上运行的程序(某种中间件),这个工具模拟另一种通信设备(A),发送一些按特定协议编码的消息给另一种通信设
系统 2019-08-12 09:27:32 2118
信息:StartingServletEngine:ApacheTomcat/6.0.322012-3-319:39:40org.apache.catalina.core.StandardContextlistenerStart严重:Errorconfiguringapplicationlistenerofclassorg.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotF
系统 2019-08-12 09:26:52 2118
安装这个过程下一步下一步就行激活在help菜单中选择输入验证码,如下整个都是:-----BEGINLICENSE-----AndrewWeberSingleUserLicenseEA7E-855605813A03DD5E4AD9E66C0EEB94BC99798F942194A602396E98E62C99794BB979FE91424C9DA45400BFF6747D882FB8807890F5CC941CDC92DC8457107AF151657B1D
系统 2019-08-12 09:26:43 2118
usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Collections;namespaceSystemDAO{//////数据库的通用访问代码苏飞修改//////此类为抽象类,///不允许实例化,在应用时直接调用即可///publica
系统 2019-08-12 01:55:37 2118
假设有这样一个文档:db.XXX.remove();db.XXX.insert({"id":1,"members":[{"name":"BuleRiver1","age":27,"gender":"M"},{"name":"BuleRiver2","age":23,"gender":"F"},{"name":"BuleRiver3","age":21,"gender":"M"}]});不能使用db.XXX.find({"members":{"name":"
系统 2019-08-12 01:55:30 2118
云数据库服务,专注于解决方案而非基础架构安装、建立、修补和维护数据库需要花费大量的时间和精力,但是并不能够帮助解决业务问题。期望获得业务敏捷性的企业还需要作出更多的努力,进一步扩展灵活性、维护高可用性,并为全球性的客户群体提供服务。作为WindowsAzure平台的一部分,SQLAzure通过一整套云数据库服务来帮助客户解决这些问题。SQLAzure业务场景部门级应用程序只需在云端快速、轻松地对数据库进行配置,就能够建立自定义的部门级应用程序数据协作与内容
系统 2019-08-12 01:55:17 2118
最近一直在研究权限,今天终于把权限搞定了以后准备自己写个商城,对以后的帮助非常大的。下面简单谈谈关于权限的实现.权限主要分为以下三个类:用户、角色、权限表权限主要分为三个步骤:1、安装(初始化数据)管理员:(超级管理员)一个拥有所有权限的用户,这个用户在程序安装时就要初始化,权限数据:这个表主要存储权限的名字和url,这个权限主要有两个作用,一个是菜单的显示,其中一级菜单没有url只是分类的作用。2、权限的分配:权限的分配主要是针对某个角色和权限建立管理,
系统 2019-08-12 01:54:20 2118