自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Innost的专栏

微信公众号”神农和朋友们的杂文集”,一专多能,深入理解Android,前后台全栈,产品,管理,人生百态,团队建设

  • 博客(15)
  • 资源 (18)
  • 收藏
  • 关注

原创 设计模式之 template method 与 visitor

<br />template method要注意一点的是在父类中定义了一个框架,而这个框架中有几个步骤可以由子类来重载或者扩充,这是template method和我最初想得不一样的地方,我开始把他当成了factory method的东西了。这个两个还是非常类似的。<br />visitor模式,有点像STL中的函数对象,尤其是我在copy,find的时候。但感觉比函数对象又要深刻一点。<br />visitor模式目的是把数据结构的组织和处理分开来,啥意思呢,假如我遍历一个列表,同时想对某个元素处理点东西

2010-07-25 20:58:00 2648 1

原创 设计模式之 strategy和state

<br />这个叫策略模式。最近感觉后面这几个行为模式都特别得像!<br />策略模式对某些算法进行了封装(不一定是算法咯)!<br />比如翻译一句话,用法语,日语,英语等翻译,就可以采用策略模式。<br />input...<br />translate..<br />output...<br />在translate中这里传入策略对象,即可完成相应功能。<br />这种将算法的变化部分独立出来的方式,就是策略。<br /> <br />state模式是状态模式,这个主要解决了大量使用if,else的情

2010-07-25 20:34:00 2489

原创 设计模式之 memento与observer

<br />memento的意思是备忘录,这种模式的存在道理很简单,保存类的某些状态,到以后好恢复。<br />memento的实现来说包括:<br />1 定义memento接口,这个接口最好有窄接口和宽接口,窄接口是给客户用的,一般来说不会透露很多详细信息给客户<br />宽接口是给originator用的,其实memento保存了originator自己的某些状态。<br />2 client从originator中得到一个memento<br />3 后续想恢复的时候,将保存的memento传给or

2010-07-25 15:35:00 2291

原创 设计模式之 mediator

<br />中介者?这个名字没完全表达本身的含义,这个应该是调停者或者叫仲裁者,都比中介者强。<br />啥个意思?就是多个对象相互影响,为了好控制,好管理,把交互的逻辑全部交到仲裁者那去做,这就是<br />mediator的中心思想。<br />再举那个BT的VADialg为例,涉及到太多的交互了,换一个list导致界面很多元素都得换,所以到处都是修改修改修改....<br />如果采用仲裁者方法,很多东西就可以在一处地方修改了。<br />从实现角度看,创建控件可以也放到仲裁者那里去做,采用abstr

2010-07-24 11:46:00 2383

原创 设计模式之 interpreter和iterator

<br />这个是我所谓的两I模式。其中第一个interpreter叫解释模型,感觉比较复杂和难用。道理是这样的,(难道只能做语法分析?)<br />一个句子,是某种格式的组合,所以,每种组合都可以单独由一个解释器来解释,这样就把整个难度划分开来了。它这有几个难度<br />1 必须按某种顺序来调用解释器,目前的方法是搞成个什么语法树,通过遍历的方式来解释(分析的目的最终是要得到一个简化的结果)<br />光这个,就已经比较复杂了。<br />2 必须保存某种状态...<br />我接触到的编码中还没有用到

2010-07-24 08:45:00 2220

原创 设计模式之 command

<br />command这种方式我非常喜欢,觉得这样把处理和invoke分开了,挺好。<br />它的想法是,以MFC的UI操作为例。当用户单击一个按钮的时候,以前的做法是直接在OnClickButton中处理这个事情,当然,代码<br />也是写死到函数中。所以比较麻烦的是在每个button处理中代码都很多,并且当一个button还需要根据外界情况来分别处理的时候,if else会挺烦。有了command就很方便了(想起大洋那个巨复杂,巨乱的VADialog,真是垃圾中的垃圾代码),所有操作都在comm

2010-07-24 08:22:00 2303

原创 设计模式之 chain of responsibility

<br />中文叫职责链,啥个意思?这个和我开始想的不太一样。<br />我开始觉得有个队列,外头有个使用队列的地方,然后轮询调用这个队列的每个成员来处理。<br />但是职责链的链是一个隐式的。每个对象有一个隐式得指向后续对象的指针,但该对象自己处理不了的时候,会交给<br />后续对象处理。<br />这种情况在一般的编程中很少有对应的场景,但是在GUI编程中是很常见的。GUI编程中,每个控件都有一个父,当自己处理不了的时候,就把它交给父对象处理了。注意,这里要区别交给父类函数处理。到底交给父类还是父对

2010-07-24 08:05:00 2174

原创 设计模式之 proxy

<br />proxy是代理的意思。其实我更感觉想某种意义上的封装,例如最常用的智能指针,和android的AutoLock,都是利用对象的<br />构造和析购函数来完成创建和清理的工作,那么代理类有什么需要注意的吗?<br />proxy和被代理的对象必须有同样的接口,这保证了client使用proxy和使用被代理对象一致。这种问题我从来没有从面向对象的角度去考虑过,以前肯定做过代理类,但是没想到过从同一个基类派生。<br />代理类的作用,<br />1 远程代理,当被代理在另外一个进程中,需要这种代

2010-07-24 07:56:00 2612

原创 设计模式之 facade与flyweight

<br />facade是外观的意思,啥意思呢?这个模式主要是针对子系统的复杂类的情况下,通过它可以提供一个简单的功能类。比如目前做的dlna库,写了好几个接口,而且基本上只有我知道是怎么个用法。但是dlna的客户端真得需要了解这么复杂的东西吗?不用,所以后面单独弄了一个dlna类,接口非常简单。这个就是facade的目的,把子系统的功能积聚到一个简单的类中去。注意,facade和之前的adapter等目的明显不同,这个是为了屏蔽子系统的复杂性而做的。<br /> <br />flyweight,是轻量级的

2010-07-18 20:29:00 2258

原创 设计模式之composite decorator模式

<br />composite是复合的意思,就是一个对象可包含其他同类对象的东西。<br />有两种实质不同的对象--leaf与component,leaf是叶子对象,component是容器对象,可用于容纳其他leaf或子component的。<br />这里在实现的时候要注意一个问题:component和leaf是同一类型的,也就是有共同的基类。为何这么做?因为composite的本质是把leaf和component看做同一个东西,不用区别对待,所以有共同基类是必然的。<br />这样就有一个问题,基类

2010-07-18 10:48:00 3670

原创 设计模式之adapter bridge模式

<br />先说adapter模式<br />adapter中文为适配器模式,目的和想法很简单,就是一种封装,只不过这种封装是为了从接口A到达接口B,啥个意思呢,A已经提供功能了,但是另外一个东西只能使用B的接口,所以得弄一个东西将A转换成B接口,这个转换器就是adpater。从这个描述可以看到,我们实际上有三个东西。<br />  A----adapter-----B。其中A叫adaptee,B叫target。<br />怎么实现呢?通常有2种方法:<br />adapter---继承A,B,这样使用B的

2010-07-17 20:21:00 4838

原创 设计模式之 prototype和singleton

先说singleton,就是无论怎么调函数,其实返回得都是同一个对象。这个相对来说比较简单,至于有什么作用吗?要看应用了。不如数据库连接一般就给你一个连接,管你上面供几个对象同时使用。无需多说。在实现上,要注意了,用接口怎么返回子类对象?我一般用一个API,而不是类函数来做这个,这就不是面向对象了,考虑考虑JAVA吧。通过类似注册表,create()--->read type from registry 来创建不同子类...够可以的....现在说说这个比较少见的proto type,为啥有这个玩意? 注意我

2010-07-15 21:29:00 3161

原创 设计模式之Factory method

<br />刚开始一直没搞清楚abstract factory 和factory method有什么区别..因为二者常常混在一起用。再仔细想想:<br />AF出来的是一个Factory,这个factory可以创造一系列产品。而FM所属对象本身就是一个factory,调用FM函数将产生一个产品。<br />AF---->Factory(自己可能就提供FM)---->Product。它这个和AF是面向不同层次的,AF更加广泛高一些。当然也可以做一个AF类,而且只有一个createProduct函数(本来一个F

2010-07-15 21:00:00 2782

原创 设计模式之Builder

<br />Builder模式干啥子用的?其实是把创建的工作交给builder做了。另外一个是builder可以控制一个产品每一个部件是怎么装配的。<br />说实话,一般情况下,当然希望一下就builder好了,谁希望一步一步得去builder呢?<br />我记得java中的XML解析好像有这个,由于XML很大,所以每builder一步都会回调一下告诉用户一个东西已经builder完了。这可能<br />是builder的一个好处吧。<br />[可否在网络中解析协议也这么干?恩,对。以前常用的KLV

2010-07-15 20:32:00 3276

原创 设计模式之Abstract Factory

<br />前言:<br />  最近在研究android的时候,发现该系统大量使用了设计模式的知识。说来惭愧,在此之前,我从来没见过C++代码中有如此多重继承的<br />使用方法,并曾一度认为是android故意搞这么复杂,想让我们看不明白。后来在用JAVA开发android的程序时候,发现JAVA的API大部分也是这么弄的,不过用了Implements罢了....反思之,一定是我弄错了。这时候想起了设计模式,买来一看,真的是非常经典啊,所以准备写点东西,权当是笔记好了。<br />(该书已经看过一遍了

2010-07-11 21:13:00 4906 2

深入理解Android之Java虚拟机ART样章

深入理解Android之Java虚拟机ART一书的样章,从第一章到第三章。

2019-04-15

SELinux by Example Using Security Enhanced Linux

比较新的讲SELinux的入门书籍,包括MLS,是难得得覆盖面很全的书

2014-02-21

SELinux NSA’s Open Source Security Enhanced Linux

selinux基础文档,selinux版本比较老,但是核心概念几乎都有

2014-02-21

随笔之GoldFish Kernel启动过程中arm汇编分析

详细介绍linux kernel启动时,汇编部分的内容

2012-12-01

cortex a8 reference

详细介绍CORTEX A8,纯英文,免得你从官方下载了

2012-12-01

arm architect reference

最新arm 架构体系结构,纯英文,免得你从官方下载了

2012-12-01

随笔之GoldFish Kernel启动ARM汇编分析

详细介绍LINUX ARM kernel启动部分中arm汇编相关内容

2012-12-01

深入理解android 卷II 目录

深入理解android 卷II 目录,敬请期待

2012-07-03

深入理解android 卷II 第一章

深入理解android 卷II,第一章 环境部署

2012-07-03

深入理解android 卷II 第7章

深入理解android 卷II 第7章 ContentProvider深入理解

2012-07-03

Android Framework Eclipse工程文件配置

用于将Android源码导入Eclipse的各个工程文件配置

2012-04-22

深入理解Android 卷1 第五章

深入理解Android 卷1 第五章 详情见: product.china-pub.com/198566#pljl

2011-09-06

GCC资料大全CHM版

详细描述GCC的使用,很好很强大 CHM版

2009-11-06

autoconf使用说明

几个介绍autoconf使用的说明例子

2008-02-15

GNUMake手册中文版

GNU Make手册的中文版

2008-02-15

Linux内核书籍

介绍linux内核的好书 比较简单易学

2008-02-15

空空如也

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

TA关注的人

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