扩展缩略图类在extensions 中建立 Image/CThumb.php1. 自己瞎弄的,一点都不优雅include_once Yii::app()->BasePath."/extensions/Image/CThumb.php";$aaa = new CThumb();....2.Yii::i...
分类:
其他好文 时间:
2015-08-25 19:16:02
阅读次数:
108
建议101:使用扩展方法,向现有类型“添加”方法考虑如何让一个sealed类型具备新的行为。以往我们会创建一个包装器类,然后为其添加方法,而这看上去一点儿也不优雅。我们也许会考虑修改设计,直接修改sealed类型,然后为其发布一个新的版本,但这依赖于你拥有全部的源码。更多的时候,我们会采取针对第三方...
优雅的代码总是让人赏心悦目,比如下面有两段代码,都是实现了相同的功能,当你看完代码A再来看代码B时,你是否也有一种身心愉畅的感觉呢。代码A://如果用户输入的是偶数,就直接输出,否则就+1之后再输出。inta;printf("请输入一个数字:");fflush(stdin);scanf("%d",&...
分类:
其他好文 时间:
2015-08-19 22:58:23
阅读次数:
110
在上一篇博客中,我们讨论了Race Condition现象以及它产生的原因,现在我们知道它是不好的一种现象了,那么我们有什么方法避免它呢。最直接有效的方式就是放弃多线程,直接改为使用单线程但操作数据,但是这是不优雅的,因为我们知道有时候,多线程有它自己的优势。在这里我们讨论两种其他的方法——锁对象和条件对象。
锁对象
java SE5.0之后为实现多线程的互斥引入了ReentrantLock类...
分类:
编程语言 时间:
2015-08-17 08:48:20
阅读次数:
400
过多if-else分支的优化超过3个就应该去优化,说if-else过多的分支可以使用switch或者责任链模式等等方式来优化。确实,这是一个小问题,不过我们还是可以整理一下这个小问题的重构方式。为什么要优化?你没有看错。这是要放在第一条谈论的。有许多人会说,叠起来一堆if-else分支,代码就不优雅...
分类:
其他好文 时间:
2015-08-04 15:03:47
阅读次数:
116
一、Why?
我们在客户端调用服务端对象的时候,通常需要通过服务器的 JNDI 来查找session bean或MDB。JNDI 查找是把客户端与实际的服务端实现解藕的关键步骤。 但是, 直接使用一个字符串来进行 JNDI 查找并不优雅。有这样几个原因:
· 客户端与服务端必须有一致的基于字符串的名字。 它没有在编译时得到认证或在部署时得到检查。
· 从 JN...
分类:
其他好文 时间:
2015-08-01 19:01:52
阅读次数:
169
在使用Ajax提交信息时,我可能常常需要拼装一些比较大的字符串通过XmlHttp来完成POST提交。尽管提交这样大的信息的做法看起来并不优雅,但有时我们可能不得不面对这样的需求。那么JavaScript中对字符串的累加速度如何呢?我们先来做下面的这个实验。累加一个长度为30000的字符串。测试代码1...
分类:
Web程序 时间:
2015-07-27 18:01:38
阅读次数:
160
最近项目里面有个需求,一个页面放了一个ScrollView,整个页面可以向上滚动,然后ScrollView里面又嵌套了一个ListView,ListView里面的数据也是可以上下滑动的,理论上ListView被包在ScrollView里面,TouchEvent肯定是被ScrollView拦截了,那我们可以采取什么思路呢,我看网上很多做法说是将整个ListView的高度计算出来,感觉这样很不优雅,如...
分类:
移动开发 时间:
2015-06-26 22:28:44
阅读次数:
204
今天我们来讨论,如何通过设计,解决C++中的不优雅特性,改进项目的结构,改善编译速度。
上次我们提到,如果一个类的封装不好,容易导致种种不便,那么如何设计能够避免这种现象呢?...
分类:
编程语言 时间:
2015-04-28 12:01:23
阅读次数:
155
今天来说一说C++中不优雅的一些问题,C++虽然是面向对象的设计语言,但也有很多缺陷和弊病,我们将会讨论如何通过良好的设计解决这些问题。...
分类:
编程语言 时间:
2015-04-27 23:44:08
阅读次数:
255