- 军军小站|张军博客
搜索到与相关的文章
编程技术

一堂如何提高代码质量的培训课(3)

3)职责驱动设计和领域驱动设计前面我提到,当我们尝试写一些复杂功能的时候,我们把功能分解成一个个相对独立的函数。但是,应当将这些函数分配到哪个类中呢?也就是系统中的所有类都应当拥有哪些函数呢?或者说应当表现出哪些行为呢?答案就在这里:以职责为中心,根据职责分配行为。我们在分析系统时,首先是根据客户需求进行用例分析,然后根据用例绘制领域模式和分析模型,整个系统最主要的类就形成了。通过以上分析形成的类,往往和现实世界的对象是对应的。正因为如此,软件世界的这些类

系统 2019-08-29 21:58:56 1911

编程技术

Spring与Struts2整合原理

Spring和Struts2都是应用非常广泛的J2EE应用程序框架,Struts2主要注重的是将视图层和控制层分开,但是不涉及对模型层的优化设计;而Spring除了实现Struts2的MVC功能外,还可以利用其控制反转的思想实现对模型层的优化,从更深层次去降低应用程序各个组件的耦合程度。1、添加ContextLoaderListener到web.xmlXml代码org.springframework.we

系统 2019-08-12 09:30:34 1911

编程技术

Ibatis ISqlMapper工厂类案例

namespaceModel{publicclassMapperFactory{//声明一个ISqlMapper接口类型的数据映射器_mapper,其初始值为nullprivatestaticvolatileISqlMapper_mapper=null;//privatestaticlog4net.Appender.AdoNetAppenderadoApd=null;staticMapperFactory(){RefreshMapperSetting();

系统 2019-08-12 01:33:02 1911

Python

python 装饰器 初步认识

首先理解Python的函数能像普通的对象一样能作为参数传递给其他函数,可以被赋值给其他变量,可以作为返回值,可以被定义在另外一个函数内。前面的文章已经对闭包做了介绍,再次进行延伸和理解一下装饰器,主要用于不在改变源代码的情况下进行添加功能,装饰器利用闭包来实现,一般和闭包一起使用。装饰器返回一个函数对象,简单理解在原函数功能上又加入新功能并返回一个和原函数名相同的函数对象。deffuncout(func):deffuncIn(x,y):func(x,y)#

系统 2019-09-27 17:55:41 1910

Python

使用python连接mysql数据库之pymysql模块的使用

安装pymysqlpipinstallpymysql2|0使用pymysql2|1使用数据查询语句查询一条数据fetchone()frompymysqlimport*conn=connect(host='127.0.0.1',port=3306,user='root',password='123456',database='itcast',charset='utf8')#创建游标c=conn.cursor()#执行sql语句c.execute("selec

系统 2019-09-27 17:55:11 1910

Python

python文件操作整理汇总

总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧:python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.i

系统 2019-09-27 17:55:05 1910

Python

纯Python开发的nosql数据库CodernityDB介绍和使用实例

看看这个logo,有些像python的小蛇吧。这次介绍的数据库codernityDB是纯python开发的。先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度有些不给力,结果一看实现的方式,真是太鸟了,居然就是json的存储,连个二进制压缩都没有。这里介绍的CodernityDB也是纯开发的一个小数据库。CodernityDB是开源的,纯Python语言(没有第三方依赖),快速,多平台的NoSQL型数据库。它有可选项支持HTT

系统 2019-09-27 17:55:03 1910

Python

Python3.x selenium 笔记

网上很多的滚动条办法,可能是系统间的差异,或者浏览器的差役,导致结果可能不尽人意我的经常使用的环境是,ubuntu+chrome+chromedirver+selenium+python3.5.2以下笔记,是给基于上环境的滚动到指定位置tagelement=driver..find_elements_by_xpath("//div[@class='_3-kxx']")#目标元素的定位筛选driver.execute_script("returnargume

系统 2019-09-27 17:54:55 1910

Python

Python 抓取动态网页内容方案详解

用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字。如下所示:复制代码代码如下:importurllib2url="http://mm.taobao.com/json/request_top_list.htm?type=0&page=1"up=urllib2.urlopen(url)#打开目标页面,存入变量upcont=up.read()#从up中读入该HTML文件key1='ke

系统 2019-09-27 17:53:24 1910

Python

Python中的装饰器用法详解

本文实例讲述了Python中的装饰器用法。分享给大家供大家参考。具体分析如下:这里还是先由stackoverflow上面的一个问题引起吧,如果使用如下的代码:复制代码代码如下:@makebold@makeitalicdefsay():return"Hello"打印出如下的输出:Hello你会怎么做?最后给出的答案是:复制代码代码如下:defmakebold(fn):defwrapped():return""+fn()+""returnwrappeddefm

系统 2019-09-27 17:53:06 1910