前记:相信大家对三层开发都已经耳熟能详,可是我却发现新公司的既有代码中有一些违背分层开发思想的东西,现在与大家分享这些错误,我们共勉之。如果有人觉得对三层开发拿捏得不是太准,请参照李天平的文章:分层开发思想与小笼包,这篇文章用隐喻说明分层开发,是非常好的一篇文章。正文:1.界面层参与非界面逻辑,抢业务逻辑层的饭碗什么是界面逻辑:界面层应该有的逻辑就是显示的逻辑,例如根据逻辑结果显示某一个Panel不显示另外一个Panel,或者有一个数据集应该在界面上怎么呈
系统 2019-08-29 23:08:14 2767
java数据库连接池的实现代码packagecom.xiaobian;/***数据库连接池管理类*/importjava.io.*;importjava.sql.*;importjava.util.*;importjava.util.Date;/***管理类DBConnectionManager支持对一个或多个由属性文件定义的数据库连接池的*访问.客户程序可以调用getInstance()方法访问本类的唯一实例*/publicclassDBConnecti
系统 2019-08-29 23:04:13 2767
CruiseControl是绿色版,就是说,他的核心程序与Windows的注册表没有关系,系统重装了以后程序一样可以使用。这里讲的是版本是2.2.8,较旧的版本的CruiseControl可能与新版的使用方法与目录结构都有所不同。接下来,我们来看看CruiseControl安装后的目录结构CruiseControl的目录结构如图所示:第一个文件夹是:apache-ant-1.7.0这里是CruiseControl所集的apache软件,你可以在里面添加an
系统 2019-08-29 23:02:25 2767
1MVC架构MVC是模型(model)、视图(view)、控制器(controller)。有些应用需要处理用户请求并操纵和显示数据,MVC模式可以简化其实现。该模式由3个组件构成:1、模型表示用户希望看到的数据。通常情况下,模型由JavaBean构成。2、视图负责显示模型。文件编辑器中的视图组件会以恰当的格式显示一段文本,视图在Web应用中会生成客户端浏览器可以解释显示的HTML。3、控制器表示逻辑代码,负责处理请求和执行用户的意图。他会构建恰当的模型并将
系统 2019-08-12 09:30:16 2767
在调用存储过程中,就会涉及到表锁,行锁这一概念:所谓区别:有索引的时候就是行锁,没有索引的时候就是表索。innodb的行锁是在有索引的情况下,没有索引的表是锁定全表的.表锁演示(无索引)Session1:mysql>setautocommit=0;mysql>select*frominnodb_test;+------+-------------+|id|name|+------+-------------+|1|woshiceshi||2|woshice
系统 2019-08-12 01:54:26 2767
举例说明:电脑主板要工作就得依赖于CPU、内存、风扇、声卡、网卡等等,如果其中某个零部件坏了,那么需要把整个主板换掉么?当然不是。下面的例子是展示电脑主板和CPU、内存、风扇、声卡、网卡存在非常强耦合的例子publicclassKeyBoard{privateCPUcpu;privateMemeorymemory;privateSoundCardsoundCard;publicKeyBoard(){cpu=newCPU();//依赖于具体类memory=n
系统 2019-08-12 01:33:34 2767
原文Win8.1系统下配置搭建IIS8.5+PHP5.5.4运行环境很多人喜欢用linux搭建php网页语言运行环境,但由于linux高度自定义化,经常需要root运行命令,略显高端,相对应的微软的windows操作系统,用户体验不错,可以借助windows自带的IIS组件+PHP程序包,搭建一个合适的运行环境。Windowsxp时代是IIS6,win7时代是IIS7.5,win8时代IIS8.0,同样win8.1的内置IIS组件也升级到8.5,拥有更高的
系统 2019-08-12 01:33:24 2767
根据讲师所讲总结了一下(可能存在些描述错误)-------------mvc进入asp.net管道原理:(在执行httpapplication管道之前mvc和asp.net是相同的,不同之处在于管道第七个事件对http请求进行了重定向,交给了现有的mvchandler实例,而不是asp.net模型中自己创建的一个httpHander;)1.当网站启动执行application_start方法,注册路由规则;先创建了一个mvcRouteHandler路由处理
系统 2019-08-12 01:33:11 2767
软件应该是可以扩展的,但是不可以修改的。对扩展都是开放的,模块式可以扩展来满足新的行为,我们可以改变模块的功能。OCP的好处是,尽可能的减少修改模块的次数和范围,从而提高代码的可维护性,复用性。比如操作系统的升级补丁,在修复bug的情况下,肯定是越小越小。如果说OCP做的不好,每次修改需要修改大量的文件,那就会导致补丁很大。对于修改是封闭的,在扩展模块的时候,不必改动源代码的二进制文件,不管是.o文件还是.dll文件都不用改动。问题的核心是怎么样改变了模块
系统 2019-08-12 01:32:46 2767
学习Python不久碰到过这个问题,记得当时没查出是什么问题.刚刚无意中发现了这个问题的原因及解决方案,记录一下.参考:https://juejin.im/post/5bc2bd3a5188255c94465d31第一种情况参考文章中介绍说产生这个问题的原因是因为创建了自定义的Logger对象后,又使用了logging中的日志输出方法,这些方法使用的是默认配置的Logger对象,导致之后输出的日志信息会重复。示例代码:importlogging#日志管理l
系统 2019-09-27 17:50:07 2766