- 博客(4)
- 收藏
- 关注
原创 重构之在对象之间搬移特性
在对象的设计过程中,"决定把责任放在哪"即使不是最重要的事,也是最重要的事之一。类往往会因为承担过多责任而变得臃肿不堪,这种情况下,我会使用提炼类将一部分责任分离出去。如果一个类变得太"不负责任",我就会使用内联类将它融入另一个类。如果一个类使用了另一个类,运用隐藏委托关系将这种关系隐藏起来通常是有帮助的。有时会隐藏委托类会导致拥有者的接口经常变化,此时需要使用移除中间人。 一.搬移函数 你的
2017-07-23 22:53:41 268
原创 重构之重新组织函数
重构手法中,很大一部分是对函数进行整理,使之更恰当的包装代码。几乎所有时刻,问题都源于过长函数。对于过长函数,一项重要的重构手法就是提炼函数,它把一段代码从原先函数中提取出来,放进一个单独函数中。内联函数正好相反:将一个函数调用替换为该函数本体。如果在多次提炼之后,意识到提炼所得的某些函数并没有做任何实质事情,或如果需要回溯回复原先函数,就需要内联函数。 一.提炼函数 提炼函数是最常用的重构手
2017-07-17 23:18:03 357
原创 重构之代码的坏味道
一.重复代码 坏代码行列中首当其冲的就是重复代码,如果你在一个以上的地点看到相同的程序结构,那么可以肯定,设法将它们合而为一,程序会变得更好。 最单纯的重复代码就是"同一个类的两个函数含有相同的表达式"。这时候你需要做的就是采用提炼函数提炼出重复的代码,然后让这两个地点都调用被提炼出来的那一段代码。 另一个常见情况就是"两个互为兄弟的子类内含有相同表达式"。要避免这种情况,只需要对两个类都使
2017-07-12 09:16:42 445
原创 Redis的事务与锁
一.Redis事务 Redis的事务和传统关系数据库的事务并不相同。在关系数据库中,用户首先向数据库服务器发送BEGIN,然后执行各个相互一致的写操作和读操作,最后,用户可以选择发送COMMIT来确认之前所做的修改,或者发送ROLLBACK来放弃那些修改。 在Redis里面也有简单的方法可以处理一连串相互一致的读操作和写操作。Redis的事务以特殊命令MULTI为开始,之后跟着用户传入的多个命
2017-07-02 19:54:02 463
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人