from:http://blog.prosight.me/blogs/984/名称解释0、单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。一、”开放-封闭”原则(OCP)在软件设计模式中,这种不能修改,但可以扩展的思想也是最重要的一种设计原则。即软件实体(类、模板、函数等等)应该可以扩展,但是不可修改。【通俗】:设计的时候,时刻考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来,我们增加一些类就完事了,原来的代码能不动则不动。二、里氏代换原则(LSP)1.一个软件实体如果使用的是一个父类的话,那么一定适用于该子类,而且他觉察不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。【一句话】:**子类型必须能够替换掉他们的父类型。**三、依赖倒置原则(DIP)1.高层模块不应该依赖于底层模块。两个都应该依赖抽象。2.抽象不应该依赖于细节,细节依赖于抽象(【白话】:针对接口编程,不要针对实现编程。四、接口隔离原则(ISP)1.使用多个专门的接口比使用单一的总接口总要好。换而言之,从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小接口上的。2.过于臃肿的接口是对接口的污染。不应该强迫客户依赖于它们不用的方法。五、合成/聚合复用原则(CARP)尽量使用合成/聚合,尽量不要使用类继承。【聚合】:表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。【合成】:一种强的拥有关系,提现了严格的部分和整体的关系,部分和整体的生存周期一致。六、迪米特法则(LoD)最少知识原则强调类之间的松耦合。即:如果两个类不必彼此直接通信,那么着两个类就不应当发送直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
Heatmap.js用来生成基于用户自定义数据上的web 热图,内嵌html5 画布元素。可根据以下数据来源绘制热图:静态数据鼠标移动鼠标点击支持浏览器:Firefox 3.6+, Chrome 10, Safari 5, Opera 11 and IE 9+.[repo owner=”pa7” name=”heatmap.js”]
使用mysql时,发生的错误 Table is marked as crashed and should be repaired。解决办法:用“REPAIR TABLE tablename;”命令修复。简单好用!还有其他办法,就不多说了。原因:有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说 法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能 导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。来一曲古风版的最炫民族风,民族乐器演奏出来果然不一般啊!
作为一个通用的框架,不仅仅需要最小可用,还需要一些完整的功能,这篇文章说了一些常用的通用功能,我建议再补充一些。a、权限控制 作为系统,就有人去用,有人的地方就需要进行控制,能用什么,该用什么,都要进行管理,这就是权限控制。权限是个很复杂的东西,场景不一样,权限控制也就不一样,我一直赞成使用的是RBAC,使用资源、角色、用户做最小角色控制,以后需要其他功能,RBAC也容易进行扩展。b、日志记录安全是现在系统必须注意的问题,而系统很作的操作,都很敏感,你做了,我就得记住。其他的功能,看看下面的文章!公司的JAVA框架应具备的通用功能以前在学校的时候自己以为是不是每个做JAVA开发的公司每次做项目的时候都要搭建一个SSH框架呢,工作之后才发现每个公司都有自己的一套框架,要不是在SSH基础上,要不是在SSI基础上进行了符合自己公司需求的封装,并且随着自己公司的框架被应用到各个实际系统的过程中,这个框架会越来越成熟,会使该公司的开发效率越来越高。 根据笔者接触过的几个公司的框架,笔者发现要想实现高效的开发,每个公司的Java框架应该具备如下的特点:1.具有灵活的分页功能。 分页功能是每个项目中必须要实现的功能,而恰恰这个功能是比较费时费力的,如果在框架中实现这一功能,将在每个项目中大大减少分页的重复性工作。2.可以方便的实现文件的上传与下载、数据的导入和导出的功能。 文件的上传于下载、数据的导入和导出在大部门项目中也会遇到,但是这两个功能可能会因为项目的不同导致实现上有一点区别,我们框架中要做的就是应该抽出其中共有的东西,定义为抽象的东西,以便不同的项目、不同的需求都能很容易的实现该功能。3.方便的事务管理功能。 事务管理一般来说都定义在业务逻辑层。我们框架中应该实现对业务逻辑对象事务的简单配置甚至是零配置。笔者接触过的两个框架中,一个需要在配置完一个业务逻辑对象时,在事务管理的配置文件中加上一句简单的配置即可,另一个是框架中实现了几个基本的业务逻辑对象,并对这几个对象实现了事务管理的配置,开发的时候定义的业务逻辑对象都是继承自这几个基本对象,也就省去了事务管理的配置。4.具有异常处理框架。 基本上每个项目的异常处理都应该可以使用公司的框架定义的异常处理框架,并不会因为项目的不同而要求的异常处理也不一样。5.具有自己的一套页面组件。 项目开发都是团队的开发,要想保证每个开发人员的界面风格统一,最好的办法就是定义一套公司自己的页面组建。这样既能保证开发效率,也能做到界面的统一。freemark就是不错的选择,其支持自定义宏,公司框架中可以定义一套自己的页面组建宏,供开发人员调用即可。6.具有数据校验框架。 每个项目在数据校验时都可能会用到大量的正则表达式,那么在公司的框架中将这些正则表达式封装起来,提供统一的调用接口将是不错的选择。7.简单的实现菜单的配置。 一个好的框架应该提供对菜单、二级菜单等的简单配置、管理。还是上文提到的两个框架,一个是通过XML配置文件实现了对系统中一级菜单、二级菜单、三级菜单的管理,而另个框架要实现相同的需求却要在数据库中进行繁琐的配置,显然第一个框架的实现方案更可取、更高效。原文网址:http://hp.dewen.org/?p=974
小米的音效,还算是一般吧!如果把音量放到最大,偶尔会听到一些爆音。这里强烈推荐使用DSP管理器,来进行管理。这边已经由puterjam进行整理打包好的工具了。puterjam就是pjblog的大神,相当不错一款博客程序。我对这些音效也算是个音盲,可用过Beats Audio + DSP 管理器后,也能十分的发现音效的确变了,音效可以自己选择,我选择的是改变的低音,这样听起来深沉些。 截图: 安装方法:方法1:第一次安装前先执行 1.备份系统文件.bat 根据引导即可自动完成安装。方法2:执行 1.备份系统文件.bat 后中断继续安装流程,可以选择不带DSP的安装方式 2.安装(不带DSP).bat (注意:已经安装过7.1版本的,备份文件系统是无效的,请参考安装问题解决中的 6.1或者6.2 来解决卸载问题)卸载方法:3.卸载.bat 不用多说了吧 (卸载的时候,自动把system_bak目录中备份的文件进行覆盖,需要手动制作备份文件的请参考安装问题解决中 的 6.2 说明) ————————————————— 我是分割线 —————————————————安装问题 Q&A 1. 安装失败的问题,建议在 MIUI V4 (我是最新的2.6.29版本)下试试看(其他版本系统没尝试过),如果是android 2.3内核的这个不保证可以安装。 2. DSP安装有问题的,可以尝试下载 去掉DSP 的audio_effects.conf 的文件 覆盖/system/etc/audio_effects.conf 下的文件,别忘记修改权限成644 wr-r-r 以及用RE删除 /system/app/DSPManager.apk 可以保留BA的音效 3. 如果还出现其他问题,小米手机可以切换到另外的系统来修复。 4. 安装先关闭 豌豆莱或者QQ手机管家等软件,避免adb server冲突 5. 如果发现copy文件失败,请手动执行一下 adb root 后在执行install.bat6. 安装方式因为修改到了系统文件可能会导致OTA升级时文件验证失败而无法升级系统,7.1号安装的朋友请根据一下方式解决6.1 情况1: 如果是 2.6.29 的系统,可以下载这个版本对应的系统文件,解压到心的安装包里system_bak目录下,然后执行 3.卸载.bat 进行系统文件还原。6.2 情况2:如果不是这个系统的,需要自己找到对应系统的的几个文件按照system的目录结构放到system_bak目录中进行还原 系统升级需要检查的文件列表, 这些文件可以在您的系统对应的完整安装里找到/system/etc/audio_effects.conf/system/lib/soundfx/libvisualizer.so/system/lib/soundfx/libreverbwrapper.so/system/lib/soundfx/libbundlewrapper.so/system/lib/soundfx/libaudiopreprocessing.so/system/lib/libwebrtc_audio_preprocessing.so/system/lib/libSR_AudioIn.so/system/lib/libaudcal.so/system/lib/libacdbmapper.so_复制代码_对应备份目录的结构图6 天前 上传下载附件(17.06 KB)发送到手机 最后同样执行,3.卸载.bat 进行系统还原后进行OTA升级。 7. 最后,还是需要你要胆大心细 :P原文地址:http://www.miui.com/thread-630072-1-1.html下载地址:http://l3.yunpan.cn/lk/080fswmvve
最近迷上了Sublime text2编辑器,用的是绿色版的,没有右键打开,模仿UE的右键注册表文件,改了下,支持Sublime text2右键打开文件。Sublime text2 相当的神器,推荐每一位程序猿们使用.Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOTshellSublime]@="用Sublime打开"[HKEY_CLASSES_ROOTshellSublimeCommand]@=""D:\360云盘\Tools\Sublime Text 2.0 x64\sublime_text.exe" %1"
在天朝,搜索任何内容总会被过滤,原因都知道,有时要搜索些内容,也得弄个vpn或者翻个墙的,在此推荐个开源的项目goosh.goosh是个静态的html工程,放到支持html的服务器就可以使用.操作模拟的是linux的命令行,所以使用还是需要些小技巧的,可对于能翻墙的人来说,很easy的.goosh搜索的结果使用的是google和yahoo的搜索引擎,一点也不会担心内容会被过滤,想搜索的内容,随你了!嘿嘿!我个人也搭建了一个,仅供我个人使用,地址就不公布了.goosh放在任何一个支持html的服务器,即可使用,现在免费的服务器也很多,比如git sae gae bae…多了去了,个人推荐还是放到国外或者个人私密的地方,谁知道这玩意会不会被天朝封了呢!goosh的地址: http://code.google.com/p/goosh/