自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 iOS开发---轮播图模块(连续循环滚动版)

// 基于ScrollView的轮播模块,循环滚动// ViewController.m// Slider-轮播-循环滚动版//// Created by JamesXiang on 15/7/25.// Copyright (c) 2015年 JamesXiang. All rights reserved.//#import "ViewController.h"@i

2015-08-05 21:01:45 867

原创 iOS开发---轮播图模块(普通版)

//// ViewController.m// Slider-轮播//// Created by JamesXiang on 15/7/21.// Copyright (c) 2015年 JamesXiang. All rights reserved.//#import "ViewController.h"@interface ViewController () @

2015-07-27 20:47:08 821

原创 设计模式入门之访问者模式Visitor

访问者模式定义:表示一个作用于某对象结构中的各个元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。从定义上看,这个模式跟装饰模式的定义很相似(动态地给一个对象添加一些额外的职责),但是装饰模式更多是在原有的基础上进行功能加强或者修改;而访问者模式更多是为对象添加全新的功能。这个模式中用到了二次分发技术,跟tcp协议的三次握手有些类似,首先请求拿到对方的控制权,对方进行接受,然后开始使用控制权访问者模式本质:预留通路,回调实现优点:扩展性好,复用性好,分离无关行为缺点:对象结

2014-05-22 21:08:21 1081

原创 设计模式入门之桥接模式Bridge

桥接模式定义:将抽象部分与它的实现部分分离,使得他们都可以独立地变化广义来讲,桥接模式非常普遍,面向抽象编程,面向接口编程就可以看作是他的体现从客户端的调用可以看出来,不管是要增加消息类型还是发送消息的方式,完全是件非常简单的事情,因为没有耦合,扩展起来非常轻松。Java中的JDBC就是非常典型的桥接应用桥接模式的本质:分离抽象和实现桥接模式很好地提现了开闭原则OCP

2014-05-19 23:47:22 1023

原创 设计模式入门之职责链模式Chain Of Responsibility

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止职责链模式的本质:分离职责,动态组合优点:请求者和接受者松散耦合,请求者不需要知道接受者是谁优点:动态组合职责缺点:产生很多细粒度对象,不一定能被处理,这时就需要提供默认的处理职责链模式在找到接受者后就会处理完毕,然后结束如果找到接受者后进行处理再交给下一个对象处理,那么就成为功能链了,也就是装饰器模式了何时选择职责链模式:1.如果有多个对

2014-05-19 22:55:07 1061

原创 设计模式入门之装饰器模式Decorator

装饰模式定义:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活这也提现了面向对象设计中的一条基本原则,即:尽量使用对象组合,而不是对象继承在Java中比较常见的一种装饰器模式体现如下:new DataInputStream(new BufferedInputStream(new FileInputStream("IOtest.txt")));FileInputStream完成他自己的功能,然后由装饰器完成需要增加的功能

2014-05-18 12:20:31 1437 2

原创 设计模式入门之备忘录模式Memento

备忘录模式定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态备忘录模式本质:保存和恢复内部状态优点:更好的封装性,由于使用了内部类和窄接口,所以外部就算持有备忘录接口对象也无法访问其中的属性备忘录模式中内部内和窄接口是最给力的设计,这样给把对象的接口给外部保存但是接口中没有方法,所以外部无法访问,充分保证了封装性只有创建它的原发器才可以设置和获取它的值

2014-05-12 23:34:09 989 1

原创 算法入门之快速排序

快速排序原理:快速排序先把等待排序的集合打乱顺序,把第一个元素作为基准元素,为第二个元素和最后一个元素分配两个指针i和j,如果a[i]小于基准元素则i++,如果a[j]大于基准元素则j--,这样把大于基准元素的a[i]和小于基准元素的a[j]互换,以此类推,最终把基准元素与a[j]相交换,就得到一个a[j]左侧全部小于a[j],右侧全部大于a[j]的一个近似有序数组,然后按照如上步骤重新寻找每个被a[j]分开的数组中的分隔点,最终得到有序数组。在通用排序中,一般都会选取快速排序来解决问题。

2014-05-11 23:23:58 948

原创 设计模式入门之状态模式State

//状态模式定义://允许一个对象在其内部状态改变时改变它的行为//对象看起来似乎修改了它的类//感觉状态模式在实现上跟策略模式太相似了,但是功能是不一样的//状态模式根据状态的变化来选择相应的行为,不同的状态对应不同的类,各个实现类是平行的,但不可以相互交换//而侧罗模式是根据需要来选择相应的实现类,各个实现类是平等的,可以相互交换//实例:投票,根据不同的投票次数对投票者进行不同的

2014-05-11 17:56:59 711

原创 设计模式入门之策略模式Strategy

//策略模式定义://定义一些列算法,把他们一个个封装起来,并且使他们可互相交换。//本模式使得算法可独立于使用它的客户而变化//实例:对不同的客户给出不同的折扣价格,上代码//策略接口public class Strategy { public double calcPrice(double goodsPrice);}//普通用户价格算法public class NormalC

2014-05-11 17:24:41 551

原创 几款“理想”“习惯”应用体验报告

从大四开始知道学习开始,自己就开始对实现理想、自我提升、养成习惯等行为感兴趣,于是在13年过年在家的时间趁着自学php,写了一个叫做习惯小站的网站(目前已经下线了),网站主要功能是签到,用户给自己添加一个习惯,比如:每天早起,每天进行签到,从连续签到和数字中得到满足感,从而刺激用户进步。找工作后就基本没怎么管过,也就没怎么关注这方面的产品了。 今天分析四款产品:十年后,一起阔步,唯卡正能量,念。

2014-05-10 13:27:16 1175

原创 设计模式入门之模板方法模式TemplateMethod

模板方法模式定义:定义一个算法的骨架,而将步骤延迟到子类中。这种模式可以使得在不改变算法骨架(模板)的情况下修改每个步骤的具体实现从功能上来看,这个模式跟生成器模式有些相像,只不过生成器模式定义了创建对象的过程,而模板方法模式定义了算法过程.接口和抽象类(1)接口是特殊的抽象类,接口中所有方法必须是抽象的,不能有具体实现;而抽象类中可以有实现的方法(2)抽象类不一定包含抽象方法,有抽象方法的类一定是抽象类(3)需要约束子类行为时用接口,既要约束子类行为,又要为其提供公共功能时用抽象类模板方法模

2014-05-09 11:16:31 927

原创 算法入门之归并排序(自底向上方法)

与上一篇的自顶向下方法相反,我们直接从最小的问题开始解决,最终大问题迎刃而解实现如下:其中只有merge_sort改变了function less($m, $n) { return $m < $n;}function merge(&$a, $lo, $mid, $hi) { $i = $lo; $j = $mid+1; $tmp = array

2014-05-08 23:41:40 1459

原创 算法入门之归并排序(自顶向下方法)

归并排序原理:归并排序用到的是分治思想,即把一个大问题分成两个小问题,然后把一个小问题再分为两个更小的小问题,从最小的问题开始解决,然后把小问题的结果进行整合,最终解决大问题,这种思想是自顶向下的方法,特点是先进行递归,最终进行排序,在之后的快速排序中可以看到,快速排序特点是先进行排序,后进行递归

2014-05-08 23:32:27 1259

原创 算法入门之希尔排序

希尔排序原理:希尔排序是把j

2014-05-07 23:26:34 678

原创 算法入门之插入排序

插入排序原理:从数组第二个元素开始,与之前的元素进行比较大小,如果小于q

2014-05-07 11:52:02 702

原创 算法入门之选择排序

选择排序:首先从一个序列里找出一个最小的yuan'su

2014-05-07 00:08:46 705

原创 设计模式入门之迭代器模式Iterator

迭代器模式定义:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部实现Iterator::迭代器接口。定义访问和遍历元素的接口ConcreteIterator:具体的迭代器实现对象。实现对聚合对象的遍历,并跟踪遍历时的当前位置Aggregate:聚合对象。定义创建相应迭代器对象的接口ConcreteAggregate:具体聚合对象。实现创建相应的迭代器对象

2014-05-05 23:31:45 875

原创 设计模式入门之命令模式Command

//命令模式定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化//对请求排队或者记录请求日志,以及支持可撤销的操作//模式结构//命令接口public interface Command { public void execute();}//具体的命令,需要封装与之对应的执行者Receiverpublic class ConcreteCommand implem

2014-05-01 19:51:23 679

原创 设计模式入门之适配器模式Adapter

今天看完了适配器模式,开始用自己的话进行总结,希望有所提高。顾名思义,适配器---我们在生活中都有用到过,比如我们经常用的笔记本的电源,就是个变压器,其实就是适配器,他的作用非常简单明了,就是把220V的电压转成笔记本可以用的电压。这里220v的电压就是被适配者,笔记本电压就是目标电压,而变压器就充当着适配器的身份。再举个例子,一个人他会两种外语,英语和法语,突然有一天上级要让他去德国工作

2014-04-30 10:43:59 627

原创 设计模式入门之观察者模式Observer

观察者模式定义:定义对戏那个间的一种一对多的依赖关系当一个对象的状态发生改变时,所有依赖它的对象都得到通知并被自动更新还可以在notify方法中对状态进行判断,从而通知不同的观察者观察者模式本质:触发联动看了这个模式,感觉是不是跟微博的信息机制有一定的联系当用户发送新微博时,把新信息推送给他的粉丝

2014-04-29 18:25:43 1037

原创 设计模式入门之代理模式Proxy

代理模式的本质:控制对象访问既然本质是控制对象访问,意思就是在访问者与原始对象之间加一个代理即可同理,代理模式也可以通过继承原始类来实现,让访问者操作继承类,继承类来控制原始对象的访问从而实现控制对象访问的目的何时选用代理模式1.需要为一个对象在不同的地址空间提供局部(重点)代表的时候,可以使用远程代理2.需要按照需要创建开销很大的对象的时候,可以使用虚代理(即一个不完整的对象)3.需要控制对原始对象的访问的时候,可以使用保护代理,上边即保护代理实例4.需要在访问对象执行一些附加操作的时候,

2014-04-28 09:08:10 1016

原创 设计模式入门之中介者模式Mediator

中介者模式:用一个中介对象来封装一系列的对象交互。中介者使得各对象不许要显式地相互引用从而使其耦合松散,而且可以独立地改变他们之间的交互,本质:封装交互,优点:松散耦合,集中控制交互,多对多变成一对多,缺点:潜在都缺点-过度集中化。在实际开发中,这样都中介者模式会有问题,因此会简化中介者模式,成为广义中介者模式1.通常会去掉同事类的父类,这样可以让任意的对象,只要有需求就可以成为同事2.通常不定义Mediator接口,并把具体的中介者实现为单例3.同事对象不再持有中介者,而是在需要都时候直接获取中介

2014-04-24 22:20:33 819

原创 设计模式入门之工厂方法模式FactoryMethod

N天之后,终于看懂这个模式了...我发现我在没有学会1+1之前,先去玩儿1+2去了...我在自己实现都时候用到了这种方法,可是一味得去理解面向接口编程,结果觉得这样是面向对象编程方法不好...到这里突然又理解类工厂方法模式的本质---把具体实现延迟到子类当中,这样的话以上这两种方法都可以理解了另外,工厂方法模式很好地体现类“依赖倒置原则”,依赖---要依赖抽象,不要依赖于具体类倒置---接口的所有权倒置到高层组件中去了,因为是高层组件提出的接口需求感觉这三个月的工作假期太值了,在厦门大学这样一个非

2014-04-23 22:45:02 829

原创 设计模式入门之原型模式Prototype

原型模式:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象简单来说,当进行面向接口编程时,如果需要复制这一接口对象时,由于不知道他的具体类型而且不能实例化一个接口这时就需要用到原型模式,让你在不知道对象具体类型的情况下进行对象的复制原型模式功能:1.通过克隆来创建新的对象实例;2.为克隆出来的对象实例复制原型实例属性的值

2014-04-22 13:22:57 1129

原创 设计模式入门之抽象工厂模式

//抽象工厂模式原型//提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。如CPU和主板间是有关系的,所以需要创建一系列对象接口。public interface AbstractFactory { public AbstractProductA createProductA(); public AbstractProductB createProductB();}

2014-04-22 12:19:25 667

原创 设计模式入门之生成器模式

//生成器模式:把整体构建算法和部件构造进行分离的设计模式//实例:导出txt格式文件和xml格式文件//前提,txt文件和xml文件有相同的内容格式,分别是头文件,文件体和文件尾//抽象(使用场景):当多个对象具有相同的过程而有不同的表示时分离

2014-04-20 17:50:30 1162

原创 纯JS写的2048游戏,分享之

这几天玩儿着2048这个游戏,突然心血来潮想练习下写程序的思路,于是乎就模仿做了一个,到目前位置还没有实现动态移动,不是很好看,不过玩儿着自己模仿的小游戏还是蛮爽的,哈哈如果没有玩儿过这个游戏,最好先试玩儿下,这样看起下边的代码来容易些试玩儿>>里边好多步骤写得不够简介明了,欢迎指正

2014-04-18 18:59:36 3601 4

原创 浅谈Android与iOS区别-由图标移动排列想到的

iOS和安卓没有绝对的好与坏,只有适不适合用户而已,所以不同的用户会喜欢不同的系统。可以说没有任何一款产品可以满足所有用户。记得有本关于站长的书里提到“不要把用户的智商想得太高”,大概这个思想跟苹果的设计理念是相符的吧,所以我们搞IT的人经常会看到一些觉得非常差劲的设计,但是大量的用户实践证明,这些其实是好的设计,因为这种我们觉得非常差劲的设计对大多用户来讲是最合适的。

2014-04-11 15:07:26 3529

原创 导小航-刚被百度收录后的激动心情

当我的导小航(由于目前又百度不到了,所以带个超链,感兴趣的可以看看)正在制作阶段时,不知怎么地,居然被百度给收录了一页,看着网上各种帖子,不由菊花一紧,说什么被百度收录后要经常更新才能让蜘蛛多来,这下整得我赶紧对网站内容进行更新,虽说内容是超级短小的内容,但还是更新了这一被百度收录,我是很欣慰啊,然后就各种在百度搜,刚开始的时候 导小航 三个字能排在第二页第一个,很是郁闷,因为我感觉导小航这个名字已经够特别了吧,结果还是没能排在第一名,失望啊。结果失望的还在后边,我一时兴起,为了让页面中能多出现几个导小航

2014-04-01 21:36:01 1424

原创 导小航-特色导航站摸索

现在已经是移动互联网时代了,可是我还是对web站点恋恋不忘,有点不舍。而且坚信有很多web站点是无法被移动互联网所代替的,于是乎想着能不能做一些把传统网站进行创新的想法。我选了导航网站这个方向,因为我觉得现在的导航网站更像一个门户,什么都有,而且感觉对用户没有什么帮助(除了是网站的入口外)。所以想着对导航网站进行一点创新性的摸索,结合自己平时想找一些比较好的网站在导航站上基本找不到,感觉现在的

2014-04-01 15:26:19 1325 2

原创 设计模式入门之外观者模式Facade

外观者模式:为系统外部提供一个界面如何理解?比如:一个人想组装一台电脑,可是他并不懂太多电脑硬件的知识,所以他就没法去自己挑选硬件组装电脑,但是他可以通过电脑城(即外观者)帮他挑选硬件最终组成电脑。可见,外观者的目的很明确,帮助客户端实现一些客户端不知道或者不需要知道的实现细节(系统内部各个组件的实现方式),同时也实现了外部与内部系统的封装隔离,松散了耦合

2014-03-29 22:58:36 816

原创 设计模式入门之简单工厂模式

被老大问起来看了多少书,很不好意思告诉他我基本没怎么看技术方面的书,惭愧,他又一次跟我提起了《研磨设计模式》这本书,说他当时看的时候感悟非常深,而我很早以前就把它买到手了,可是根本没有看多少,实在惭愧,所以昨天决定安下心来,好好看一本书,因为这本书还不错,所以不管占用多少时间,看了总会有所长进,总比整天抱怨没有实践机会没有成长强。把读书笔记和自己领悟到的东西写在这里,就当是对看书的总结了。本人

2014-03-27 21:19:14 808 1

原创 安卓入门2-Activity和Intent(切换页面)

1.什么是Activity及注意事项(1)Activity即与用户交互的接口,可以简单理解为一个界面(2)创建一个Activity,Activity是一个类,首先需要继承Activity父类,然后重写onCreate方法(这个方法决定了当这个Activity运行时做些什么)(3)Activity也是应用的一个组件,所以需要在AndroidManifest.xml中注册这个组件

2013-12-15 19:51:38 1628 1

原创 JS+CSS写的类似转盘的抽奖程序

今天看到网上有好多抽奖程序,大部分都是flash的,想用还得付款,一怒之下下了这个精简版类似转盘的抽奖程序。这是简单0-8个奖品页面,0-8即每个奖品,改的时候只需要自己把他们换成不同的样式就OK了。基本可以满足需求,如果有bug或漏洞,欢迎指正!

2013-12-12 19:56:28 3515

原创 安卓入门1-认识目录结构

最近自己也在学习安卓开发,顺便把学到的东西写出来与大家分享。首先,安卓开发环境的配置就不说了,百度上一大片。这一节是最基础的入门准备-认识安卓工程的目录结构。需要我们了解的东西如下:first-我们的第一个安卓工程的工程名src-存放一个一个的Activity,即界面gen中的R.java文件很重要,这是系统自动生成的,它里边会有整个工程用到的所有资源的ID,方便调用

2013-12-11 20:19:55 1345

原创 阶段总结

最近在看《永无止境-Google传》,感受颇深,尤其是看到谷歌效率至上的工作作风,让我想起了自己目前的状态,不忍直视。同时,看到谷歌的工程师都是解决问题的能手,让我羡慕不已(庆幸的是,目前我也有很多解决问题的机会),这不是盲目的崇拜,羡慕的同时,仿佛听到周星驰的那句经典台词“其实,我是个演员”,是的,我也是一个程序员,也是一个工程师,我也希望能够成为独当一面的牛逼工程师,所以在看书的时候才会引起共

2013-09-14 19:48:00 676

原创 大学毕业时的我-现在的我

7月份,我终于大学毕业进入工作状态了。        刚进公司,我用不到一个星期来入门并熟悉了ThinkPHP框架,之后就开始完成各种需求,前台后台都有,还算喜欢这份工作;        到现在,感觉PHP语言中常用的东西我已经熟练掌握,现在准备再看一遍《PHP和MySql WEB开发》,希望能有新的心得;        到现在,我还是主要用PHP一种语言,JS偶尔会用,但都不算精,可

2013-08-03 21:21:40 1076 2

原创 周总结(2013年7月26日)

距离上次Coding Dojo之后的思考已经快一个星期了,经过上次的小思考,还是有一定的小进步的。        上次觉得自己在程序里没有面向对象的思想,但经过分析和考察还是觉得不是我的问题,本身用框架就已经限制了开发空间,另一方面底层的东西几乎都已经写全了,我需要做的只是在Action类和Model类中增加一些新的功能,所以不是自己没有面向对象的弦,更重要的是这个环境给我的空间不多。如果跳出

2013-07-26 19:51:35 795

原创 第一次参加Coding Dojo(编程道场)有感

通过老大介绍,我加入了“北京设计模式学习组”这个群,今天参加了第一次他们组织的活动。        人员到齐后,放眼望去,各种屌丝样(没有恶意)。        首先是主办人伍斌老师讲了创建这个组织的初衷---要让码农能够静下心来认认真真地把代码写好;        第二个上台交流的人是百度的一个技术人员---金锐,他像我们讲述了Mock技术,虽然我写过的代码不多,他说到的很多东西也没

2013-07-21 21:48:12 2964

iOS轮播器循环滚动

基于scrollview的iOS轮播器,可以左右循环滚动拉动,体验起来挺舒服的

2015-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除