Java设计模式之简单工厂模式近来在学习Java的设计模式,一直觉得设计模式很难,所以一直没有去接触,一则是工作比较忙没有闲工夫去学习,二来是因为自己比较懒所以也懒得动,幸亏今天在公司还挺闲的,所以找了一本书来学习下Java的设计模式。
简单工厂的定义
应用简单工厂来解决问题的思路
简单工厂的结构和说明
简单工厂代码
使用简单工厂重写示例
模式讲解
简单工厂中方法的写法
简单工厂的优缺点
思考简单工...
分类:
编程语言 时间:
2016-04-26 20:33:34
阅读次数:
197
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将对象恢复到原先保存的状态。备忘录模式的角色:
1. 原发器(Originator):负责创建一个备忘录,用以记录当前对象的内部状态,通过也可以使用它来利用备忘录回复内部状态。同时原发器还可以根据需要决定Memento存储Originator的那些内部状态。
2. 备忘录(Memento):用于存储Origi...
分类:
其他好文 时间:
2016-04-26 20:33:26
阅读次数:
194
1.隐藏导航栏上的返回字体
//Swift
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -60), forBarMetrics: .Default)
//OC
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjus...
分类:
移动开发 时间:
2016-04-26 20:34:23
阅读次数:
273
这几天都没有写博客,今天集成友盟5.0推送,分享,得闲,总结一下友盟5.0推送分享踩得哪些坑!之前写的友盟踩坑心得是基于友盟4.3版本的,现在友盟5.0相较于4.3,有了较大的改动,呜呼哀哉!学而时习之吧。友盟5.0的好处:集成推送,分享可以通过导入module的形式,代码简化,维护性高,(一些资源文件就不用自己慢慢去拷贝了)。至于缺点,就是刚刚改版,会有很多跟4.3不一样的使用方法,所以需要前人去...
分类:
移动开发 时间:
2016-04-26 20:34:03
阅读次数:
319
1.Java中的的字符使用的是 16 位的Unicode 编码。( ) 2.类是同种对象的集合和抽象。( ) 3.Java 仅支持类间的单重继承。( ) 4.接口是由常量和抽象方法组成的特殊类。( ) 5.构造函数的方法名可由编程人员任意命名。6.使用静态属性必须以类名做前缀。( )7.类的私有属性和私有方法可以被其子类访问。( )8.abstract 是抽象修饰符,可以用来修饰类...
分类:
编程语言 时间:
2016-04-26 20:33:53
阅读次数:
265
由于工作需要,在网上下了一款代理软件,弄了半天可算是弄好了。因为刚升级的win10,所以比较喜欢和小娜说话谁知到
小娜同学连不上网,这让我很是郁闷,而且不止这样,好多软件都连不上网
浏览器说连不上代理服务器,由于楼主以前也碰到过类似的问题,果断找到ie浏览器,取消了代理
发现并没有什么卵用,还是照样的连不上网,果断上网各种百度搜索,终于功夫不负有心人,被我找到一个教程,...
定义对象见的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者模式的角色
1. 抽象主题角色(Subject):把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现。
2. 具体主题角色(ConcreteSubject):在具体主题内部状态改...
分类:
其他好文 时间:
2016-04-26 20:32:00
阅读次数:
248
2013年的10月份左右,还在玩摄影的我建立了一个摄影自学论坛,那会儿什么也不懂就瞎折腾,结果用discuz做了一个像模像样的论坛出来了。每天苦逼的下载各种摄影PDF然后一篇篇地发着帖子。后来听说有一种叫做采集的功能,去discuz的应用中心下载了采集插件,结果不是要钱就是要钱了也不会使。又听说了一种叫做火车头采集器的东西,于是,还是不会写采集规则。或者说那会儿根本就不知道火车头是需要根据采集规则...
分类:
编程语言 时间:
2016-04-26 20:34:08
阅读次数:
183
DOM解析非官方,不在jdk中。
使用步骤:
1)导入dom4j的核心包。 dom4j-1.6.1.jar
2)编写Dom4j读取xml文件代码
示例:public static void main(String[] args) {
try {
//1.创建一个xml解析器对象
SAXReader reader = ne...
分类:
其他好文 时间:
2016-04-26 20:31:30
阅读次数:
211
允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。
状态模式的角色
1. 环境角色Context):也称上下文,定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个具体状态类的实例给出此环境对象的现有状态。
2. 抽象状态角色(State):定义一个接口,用以封装环境对象的一个特定的状态所对应的行为。
3. 具体状态角色(ConcreteState):每一个具体...
分类:
其他好文 时间:
2016-04-26 20:32:10
阅读次数:
129
常用命令
1、vi的基本概念
基本上vi可以分为三种状态,分别是
命令模式(command mode)
插入模式(Insert mode)
底行模式(last line mode)
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有...
分类:
系统相关 时间:
2016-04-26 20:33:58
阅读次数:
190
AIDL的使用:最常见的aidl的使用就是Service的跨进程通信了,那么我们就写一个Activity和Service的跨进程通信吧。
首先,我们就在AS里面新建一个aidl文件(ps:现在AS建aidl不要求和java包名相同了):package aidl;
interface IMyInterface {
String getInfor(String s);
}可以看到,在这里面我们...
分类:
移动开发 时间:
2016-04-26 20:32:52
阅读次数:
221
如何将vim改造成c++IDE作为一个linux的初学者,看到网上各种吹vim的,心向往之,于是自己去网上查了相关的资料来做。伤心的是,做了两天才做好(原谅我的菜)。然而还有部分原因却是因为网上的教程不够详细和深入,没有解释为什么而直接说该怎么做,并且有些做法其实并不好。下面分享一些我的经验。第一步:修改用户的.vimrc文件vim安装后会在用户路径下生成一个.vimrc文件,比如/home/use...
分类:
其他好文 时间:
2016-04-26 20:33:00
阅读次数:
341
Dataset
每年高中生和大学生都会申请进入到各种各样的高校和事业单位中去。每个学生都有一组独一无二的考试分数,成绩,和背景。录取委员会根据这个决定接受或拒绝这些申请者。在这种情况下一个二进制分类算法可用于接受或拒绝申请。逻辑回归是一个合适的方法,我们将在这个任务中解决这个问题数据集admissions.csv包含了1000个申请者的信息,特征如下: gre - Graduate Recor...
分类:
其他好文 时间:
2016-04-26 20:33:40
阅读次数:
569
基本概念Observer
观察者模式(Observer Pattern)又称为发布订阅模式(Publish/subscribe)
定义对象间的一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并且自动更新
根据单一职责原则,每个类的职责是单一的,我们可以通过触发机制,形成一个触发链,把各个单一的职责串联成真实世界中的复杂的逻辑关系。
观察者模式的角色分工(JDK中提供了...
分类:
编程语言 时间:
2016-04-26 20:33:30
阅读次数:
261
TCP协议
1.头部。出现在每个TCP报文段,用于指定通信的源端端口号,目的端端口号,管理TCP连接,控制两个方向的数据流。
2.TCP状态转移过程。TCP连接的任意一端都是一个状态机。TCP的建立断开状态改变。
3.TCP数据流。交互数据流和成块数据流
4.TCP数据流的控制。保证可靠和质量->超时重传和拥塞控制TCP服务的特点 (面向连接、字节流、可靠传输)
1.传输层主要的两个协...
分类:
其他好文 时间:
2016-04-26 20:32:53
阅读次数:
230
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
策略模式的角色:
1. 抽象策略角色(Strategy):策略类,通常由一个接口或者抽象类实现
2. 具体策略角色(ConcreteStrategy):包装了相关的算法和行为
3. 环境角色(Context):持有一个策略类的引用,最终给客户端调用这里引用参考资料3中的例子来详细说明一下...
分类:
其他好文 时间:
2016-04-26 20:32:45
阅读次数:
121