背景曾经为一家律师事务所做的案件信息管理工作,使用的是Playframework 2.3.x / Java。由于是外包项目,原来就只是一个工程,也没有打算再拆分子模块。后来这家公司继续为系统考虑添加功能,要增加一系列的CRM中的销售管理的功能,问题慢慢浮现。我发现问题有几个:Playframewor...
分类:
其他好文 时间:
2014-08-10 18:25:50
阅读次数:
244
开车的朋友一定深有体会,驾驶汽车其实就是在不断矫正汽车行驶方向的一个过程。在整个驾驶过程中,你必须全神贯注地紧盯前方,通过方向盘不断矫正方向,否则即使行驶在直线路段也可能偏离车道。那些疲劳驾驶的司机,因为进入睡眠状态,无法再矫正方向,车辆就会越来越偏离航向。这种情况下,即使数秒钟的小盹,也能造成车毁人亡的严重后果。
重构与驾车虽然属于完全不同的领域,但其道理是相同的。...
分类:
其他好文 时间:
2014-08-10 15:47:40
阅读次数:
186
开车的朋友一定深有体会,驾驶汽车其实就是在不断矫正汽车行驶方向的一个过程。在整个驾驶过程中,你必须全神贯注地紧盯前方,通过方向盘不断矫正方向,否则即使行驶在直线路段也可能偏离车道。那些疲劳驾驶的司机,因为进入睡眠状态,无法再矫正方向,车辆就会越来越偏离航向。这种情况下,即使数秒钟的小盹,也能造成车毁...
分类:
其他好文 时间:
2014-08-10 15:36:10
阅读次数:
160
书籍推荐(转自豆瓣)
一、软件工程师
--Clean Code《代码整洁之道》
--Implementation Patterns《实现模式》
--Code Complete《代码大全》
--Refactoring: Improving the Design of Existing Code《重构——改善既有代码的设计》
--Effective Java(第二版)
--Head ...
分类:
其他好文 时间:
2014-08-09 13:28:57
阅读次数:
323
一.软件体系结构(架构)软件体系结构的定义通常,软件体系结构通常被称为架构,指能够预制和可重构的软件框架结构。架构尚处在发展期,对于其定义,学术界尚未形成一个统一的意见,而不同角度的视点也会造成软件体系结构的不同理解。比方,ANSI/IEEE610.12-1990软件project标准词汇对于体系结...
分类:
其他好文 时间:
2014-08-09 13:12:07
阅读次数:
231
首先推荐两个工具,一个是Resharper 一个是dotcover代码应在注释较少的前提下能让别人读的懂,而不是只能让机器读的懂如果自己都觉得自己写的代码丑,那么请您重构尽可能的避免重复代码必要的时候可以使用静态变量来保存查询出来的数据,建议将静态变量设置为只读的并且私有的,通过只读属性来访问它区别...
分类:
其他好文 时间:
2014-08-09 02:24:26
阅读次数:
235
场景:
如果业务层的内容被内嵌于界面层中,我们需要帮这分离出来
代码坏味道
MyFrame
/**
*
* @author wumingkun
* @version 1.0.0
* @Description
*/
package com.demo.refactor;
import java.util.Observable;
im...
分类:
其他好文 时间:
2014-08-09 00:14:48
阅读次数:
351
MyStackTrace:
/**
*
* @author wumingkun
* @version 1.0.0
* @Description
*/
package com.demo.stacktrace;
import java.io.PrintStream;
/**
* @author wumingkun
*
*/
public class MyStackTrac...
分类:
其他好文 时间:
2014-08-08 21:23:36
阅读次数:
326
1.面向对象的3要素。
2.面向对象开发的6大原则。
1.单一职责原则
应该有且仅有一个原因引起类的变更。
2.里氏替换原则
只要父类能出现的地方,其子类就应该能出现。也就是用子类替换父类后,保证程序照样运行。
3.依赖倒置原则
面向接口编程。
4.接口隔离原则
接口细化,也就是接口中的方法要尽量少。
5.迪米特法则
也称为最少知识原则,其定义为:一个对象应当对其...
分类:
编程语言 时间:
2014-08-08 18:17:16
阅读次数:
434