- 博客(29)
- 收藏
- 关注
原创 设计模式之命令模式
命令模式(Command) 将一个请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。
2017-10-16 11:09:55 390
原创 设计模式之责任链模式
责任链模式(Chain of Responsibility) 为解除请求的发送者和接收者之间的耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。
2017-10-13 11:00:12 391
原创 设计模式之组合模式
组合模式(Composite)将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得客户对单个对象和复合对象的使用具有一致性。
2017-10-12 10:40:10 481
原创 设计模式之适配器模式
适配器模式(Adapter): 将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
2017-08-11 10:50:19 367
原创 设计模式之单例模式
单例模式(Singleton): 保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式的用处比较多,比如应用中我们只需要一个线程池,数据库连接池,全局的配置等等。常用的有恶汉式和懒汉式两种。单例模式的实现核心在于我们需要私有化构造函数,通过静态方法获取这个实例。获取过程中需要注意多线程带来的安全问题。
2017-08-10 14:23:16 341
原创 设计模式之原型模式
原型模式(Prototype): 用原型示例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。 克隆又分为浅克隆和深克隆,在java中,我们可以使用clone()方法快速实现对象的克隆。
2017-08-10 11:24:21 367
原创 设计模式之观察者模式
设计模式之观察者模式观察者模式(Observer) 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖它的对象都得到通知并自动刷新。又称发布-订阅模式。
2017-07-26 10:09:46 311
原创 设计模式之外观模式
设计模式之外观模式外观模式(Facade) 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
2017-07-25 14:15:25 295
原创 设计模式之模板方法模式
设计模式之模板方法模式模板方法模式(Template Method) 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
2017-07-25 11:00:23 323
原创 设计模式之工厂方法模式与抽象工厂模式
设计模式之工厂方法模式工厂方法模式(Factory Method): 定义一个用于创建对象的接口,让子类决定去将哪一个类实例化。Factory Method是一个类的实例化延迟到其子类。 简单地说:工厂模式就是依据需求生产不同的对象供我们使用的。需求:造汽车。生产出不同类型的汽车如宝马、奔驰等简单工厂模式在说工厂模式之前,不得不提简单工单模式。
2017-07-24 19:59:43 422
原创 设计模式之装饰者模式
设计模式之装饰者模式装饰器模式(Decorator): 动态的给一个对象添加一些额外的职责。就扩展功能而言,Decorator模式比生成子类方式更为灵活。需求:生活中,每天我们(Person)会选择不同的的衣服(Clothes)进行搭配穿着,去勾搭小姐姐们。人作为被装饰者,可以由不同的衣服装饰。同一个人选择不同的衣服,效果是不一样的。那么,先定义一个人接口,展示每天穿什么。–被装饰者/** * C
2017-07-21 21:43:58 486
原创 设计模式简述
设计模式简述什么是设计模式“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。”——Christopher Alexander设计原则单一职责原则(Single-Resposibility Principle)。 “对一个类而言,应该仅有一个引起它变化的原因。”本原则是我们非常熟悉地”高内聚性原则”的引申,但是通过将
2017-07-20 11:30:21 602
原创 谷歌官方MVP Demo解读
谷歌官方MVP Demo解读对于MVP不熟悉的同学可以参考一下阮一峰老师关于三种模式的图解 MVC,MVP 和 MVVM 的图示官方Demo的链接项目结构与目录结构可以看到谷歌是按照模块分包的,其在tasks为首页的包,下面解读其工作流程。谷歌的MVP项目中亮点在于:加入了契约类 Contract来统一管理某个模块中的presenter接口和view接口。将Fragment作为view,A
2017-07-14 16:08:32 2415
原创 利用Github+Hexo轻松搭建个人博客
利用Github+Hexo轻松搭建个人博客准备工作需求申请一个域名,搭建一个博客站点。别人可以通过该域名访问我们发布的博客等不需要我们维护服务器,我们只需要关注发布内容,极大降低技术要求
2017-07-11 22:23:18 636
原创 idea配置Tomcat环境
配置编译环境 新建webtest项目 新建servlet,名为HelloServlet,放在test包下 这个时候你打开servlet,会发现代码报错。idea需要我们手动导入jar包。去你本地安装的Tomcat安装目录下导入相关的包。
2017-07-11 13:47:49 1311
原创 Android模拟登陆校园教务系统
1.准备使用到的开源库有:OkHttputils,JSoup思路:post方式发送学号,密码,验证码到教务系统,持久化cookie,利用Jsoup解析返回的html,分享特定的标签,确定是否登陆成功。每个校园教务系统登陆可能不一样。我们可以先在浏览器上
2017-03-12 16:41:45 3180 1
原创 Android使用每日必应美图作为启动页背景图片
微软必应每天都会更新一张很美的图片作为网站的背景,拿来做启动页背景也是美美哒。1.准备工作网络请求:OKHttp图片加载:Picasso每日必应图片数据的获取,访问这个网址就可以获取到每日的json数据。http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1 { "images
2017-03-06 21:32:28 2301
转载 Android中使用Handler造成内存泄露的分析和解决
Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不可到达,同样会被GC回收。
2017-01-14 17:29:32 332
转载 GitHub Android Libraries Top 100 简介
转载自:https://github.com/Freelander/Android_Data/blob/master/Android-Librarys-Top-100.md本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟
2016-12-29 11:27:41 496
原创 修改MySql编码集为UTF-8
在日常撸码过程中,我们可能遭遇到乱码问题,总的来说就是编码与解码不统一导致的。 下面以Windows下配置Mysql5.5设置,使其默认编码值为utf-8(在初次安装过程中,自定义设置中有一项选择可以设置默认编码集为utf-8,如果选择了utf-8,那就不需要在设置了) 假如现在已经安装完成,我们可以在控制台输入以下命令查看当前默认的编码集 show variables li
2016-12-06 18:39:37 1963
转载 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
大多数应用程序都会在底部使用3~5个Tab对应用程序的主要功能进行划分,对于一些信息量非常大的应用程序,还需要在每个Tab下继续划分子Tab对信息进行分类显示.本文实现采用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab,实现原理如下: 第一层Tab:FragmentTabHost + Fragment; 第二层Tab:在第一
2016-11-26 21:56:30 867
转载 Material Design 控件使用大全 一
自从谷歌在2014年的IO大会上推出了Material Design新的设计规范后,安卓应用的整体美观程度提升了很大的一个层次, 安卓再也不是又黑又丑的界面,取而代之的是拥有丰富的颜色,美观的按钮,好的用户体验;但是刚开始的话这种设计规范只能在Android 5.0以上的手机上运行,导致开发者也只是自己去体验,在国内并没有大范围的推广,App的质量并不能大幅度的提升,但是作为改变世界的Goog
2016-11-20 20:49:40 1125
转载 Picasso使用详解及源码解析
Picasso是Squareup公司出的一款图片加载框架,能够解决我们在Android开发中加载图片时遇到的诸多问题,比如OOM,图片错位等,问题主要集中在加载图片列表时,因为单张图片加载谁都会写。如果我们想在ListView或者GridView或者RecyclerView中加载图片墙,那么这个时候对原图片的二次处理就显得非常重要了,否则就会出现我们上文说的OOM或者图片错位等。不过,如果你使用了
2016-11-07 14:23:48 991
原创 腾讯云环境搭建:Centos6.6+jdk1.8+mysql5.1+tomcat7
1.准备1.安装Centos6.6 64位版本,具体步骤参照腾讯云官方文档。2.本机电脑安装Xshell,Xftp,用于远程连接服务器,方便操作。服务器需开放22端口。2.安装JDK1.8
2016-10-28 15:37:49 1790
原创 Android中使用MVC模式
MVC简介 关于MVC网上的说法成千上万,每个人都有自己的理解,下面只是我个人现阶段学习的理解,欢迎指出不足之处~ MVC(Model View Controller 模型-视图-控制器)
2016-10-28 15:37:47 869
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人