笨笨水壶

文章
10
资源
0
加入时间
2年10月17天

设计模式7大原则——开闭&单一职责&里氏替换

原则一:开闭原则(总纲和核心)开闭原则规定软件中的对象(类、模块、函数等)对扩展开放,对修改封闭。也就是说针对需求的修改,我们要用扩展来实现,而不是通过修改已有代码来实现。为了方便大家理解,我用王者荣耀来举例,王者荣耀中这么多英雄,如果把所有英雄都集中在一个类中来实现那是不现实的。你想想每次增加新英雄或者修改英雄的属性都要修改这一个类,那程序员还不疯了!时间长了,里面的逻辑之复杂,功能之紊乱真会要人命的。因此英雄联盟每次增加新英雄都会扩展增加一个新英雄类,这个新英雄类当然是继承“抽象英雄类”,然

Android进程间通信 深入浅出AIDL(二)

本篇文章为Android进程间通信 深入浅出AIDL系列的第二篇,建议配合AIDL第一篇食用3. AIDL原理3.1 AIDL是怎么工作的?我们编写了aidl文件之后,啥也没干就自动拥有了跨进程通信的能力.这一切得归功于Android Studio根据aidl文件生成的IPersonManager.java文件(生成的这个文件通过双击Shift输入IPersonManager.java即可找到),它里面已经帮我们封装好了跨进程通信这块的逻辑(最终是通过Binder来完成的),所以这个IPerso

链表5:6种方法实现合并K个有序链表

一法解多题是为了看透本质,一题多解是为了融会贯通。前一篇,我们从一法解多题的思路搞定了leetcode 的21、23和1669题。今天我们来看看一题多解的情况。LeetCode23:合并K个升序链表:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。这道题有多少种解法呢?策略一:K 个指针分别指向 K 条链表方法1:直接合并1.每次O(N)比较K个指针求最小的那个,时间复杂度为O(NK)class Solution { pu

JDK版本不兼容(Unsupported major.minor version 49.0)

JDK版本问题,又一次出现。 配置环境 : JDK1.5 Eclipse 3.3(启动需要JDK版本1.5以上) 现在需要用JDK1.4编译的JAR文件,起初我在我的电脑的环境变量里设置了使用JDK1.4, 再使用jar打包类.满心欢喜的我把jar放到classpath中,其它程序调用,结果出现了.Unsupported major.minor version 49.0 解决步骤 : 1、

入职第三周

时间眨眼就过去了,写这的时候发现都已经第三礼拜了,写这个只为记录下入职小白的经历吧,为以后自己能看到之前写的这些的时候,没有把时间白白浪费掉。 第三礼拜老板很贴心的叫我把一些简单的应用测一下。其实也算重温了之前学习的一些只是吧。比如mysql,socket。其实对于select的实现,还是没能完全应用,再努力看看资料吧。但epoll不知为何,我用的很舒服。 不谈了,继续学习。

iviewUI库 Col以及Row 组件用法

使用row在水平方向创建一行 一将组col插入在row中 每个在col中,键入自己的内容 设置通过col的span参数,指定跨越的范围,其范围是1到24 每个row中的col总和应该为24 如下图这样 注意:非模板/渲染模式下,需使用i-col 给通过row添加gutter属性,给可以的下属col添加间距 我这里给的col间距是30px 给通过row设置参数align为不...

Python cv2.VideoCapture失败打不开视频

cap = cv2.VideoCapture(input_name)        if False == cap.isOpened():              print 'open video failed'          else:              print 'open video succeeded'解决方法; 1.找到D:\OpenCV\o