2014年3月11日
摘要: Android系统的整体架构,下图是Android的一个完整系统架构图。 如上如所示,Android的总体架构主要分为五个部分(也就是五层),由底层到高层依次为:内核(Linux Kernel),函数库(Libraries),Android运行机制(Android Runtime),应用层框架(Application Framework),应用层(Application)。下面简单的介绍一下每一层中所包含的内容:内核层(Linux Kernel):内核主要基于在Linux 2.6的内核,适用于手机操作系统。从上图中可以看出该层主要包括:Display Driver:常用基于Linux的帧缓冲( 阅读全文
posted @ 2014-03-11 17:28 hanzejl 阅读(381) 评论(0) 推荐(0)
  2014年3月10日
摘要: 在软件的构建过程中,面临一个复杂对象的创建工作,每个部分的子对象都使用一定的算法构成。但是由于需求不断的变动,每个部分子对象的算法会随之而改变,但是整体的构建过程却保持相对的稳定性。在面向对象的设计过程中,如何应对这种变化?比如在某个游戏场景中,需要构建一个房屋,构建房屋所需要的组件包括:窗户、屋顶、门、墙和地板。在一般的情况下,我们会这样去设计类之间的关系:现在需求需要改变了,需要游戏添加一种新的场景——现代风格的房屋。这时候就将之前风格的窗户、屋顶、门、墙和地板都替换为现代的风格。这时候就面临着各种部件的变动,而相对的,房子整的构建过程不会改变,而且房子的构建过程比较复杂。上述的方案根本无 阅读全文
posted @ 2014-03-10 21:24 hanzejl 阅读(214) 评论(0) 推荐(0)
摘要: 在游戏场景的设计过程中,我们需要很多不同种类的场景,比如iphone上面很经典的一个游戏“忍者跳跃”相信大家都很熟悉吧。在该游戏场景中,有很多种场景,首先我们来考虑游戏中怪物类的设计,游戏开发者设计的类如图01:在游戏中,需要创建Fox的类,这样就可以使用 Monster monster = new Fox() 这条语句来创建一个怪物的类。程序中所有需要Fox的类都会使用上述的代码进行创建。现在需求有改动,需要将Fox的怪物改成Stone,所有代码中出现 Monster monster = new Fox() 的语句都会相应的转变为 Monster monster = new Stone()。 阅读全文
posted @ 2014-03-10 11:26 hanzejl 阅读(212) 评论(0) 推荐(0)
  2014年3月9日
摘要: 在23种设计模式中,单例模式算是最简单的一种设计模式,该模式只使用了面向对象中封装的概念,主要解决的是创建多个对象的问题。单例模式,顾名思义,就是只允许创建一个单独的实例。可能有人会说,这么简单的事情根本不需要一种设计模式,使用该类的开发人员控制自己只创建一个实例不就行了吗?这种做法虽然很简单,但是,个人认为在面向对象的设计中,这种约束应该是类的设计者的责任,而不是使用者的责任。所以,这种设计模式就应运而生了。单例模式很简单,也比较容易理解,下面是单例模式的类图:下面是一个比较简单的单例模式实现的代码: 1 public class Singleton { 2 private stat... 阅读全文
posted @ 2014-03-09 22:52 hanzejl 阅读(255) 评论(0) 推荐(0)
摘要: 在面向对象的学习过程中,设计模式是一项很重要的学习内容,那么什么是设计模式呢?“设计模式描述了在我们周围不断重复发生的问题,以及解决该问题的核心。”一位建筑师 Christopher Alexander 这么说道。在软件设计中,设计模式描述了一类常见问题的一般性解决方案。经典书籍《设计模式:可复用面向对象软件的基础》中描述了23种核心的设计模式,创立了模式在软件设计中的地位。面向对象设计模式是“好的面向对象设计”,即可以满足“应对变化,提高用的设计”。设计模式是经验性的总结和归纳,不能生搬硬套,需要结合具体的项目,细致的分析需求的变化点,针对相应的变化点来选择相应的一个或者多个设计模式来解决问 阅读全文
posted @ 2014-03-09 09:52 hanzejl 阅读(165) 评论(0) 推荐(0)