随笔分类 -  设计模式

摘要:通过之前介绍的如何自定义View, 我们知道使用它可以做一些简单的动画效果。它通过不断循环的执行View.onDraw方法,每次执行都对内部显示的图形做一些调整,我们假设 onDraw方法每秒执行20次,这样就会形成一个20帧的补间动画效果。但是现实情况是你无法简单的控制View.onDraw的执行... 阅读全文
posted @ 2015-03-09 18:43 Jamy Cai 阅读(746) 评论(0) 推荐(0) 编辑
摘要:适配器是Android中的数据与View视图的桥梁,作用就是将数据通过适配器显示到对应的View视图上。工作中,在用ListView做适配器数据时候,有些人肯定碰见过,如何优化效率,但是又出现重复数据的情况,如何避免重复数据而且又能提高ListView大数据量时候的效率呢?,解决方案就是2点:1. ... 阅读全文
posted @ 2014-05-30 11:54 Jamy Cai 阅读(964) 评论(0) 推荐(0) 编辑
摘要:要实现VC++或者MFC只运行一个程序实例,一般采用互斥量来实现,即首先用互斥量封装一个只运行一个程序实例的函数接口:HANDLE hMutex = NULL;void MainDlg::RunSingleInstance(){ hMutex = CreateMutex(NULL,FALSE,TEXT("Single Instance Demo")); if (hMutex) { if(ERROR_ALREADY_EXISTS == GetLastError()) { // 已经有实例在运行了,发送错误报警 ::MessageBox(NULL,L"已经有实例在运行 阅读全文
posted @ 2014-02-20 14:44 Jamy Cai 阅读(1036) 评论(0) 推荐(0) 编辑
摘要:单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显的很不优雅。 使用全局对象能够保证方便地访问实例,但是不能保证只声明一个对象——也就是说除了一个全局实例外,仍然能创建相同类的本地实例。《设计模式》一书中给出了一种很不错的实现,定义一个单例类, 阅读全文
posted @ 2013-06-27 10:50 Jamy Cai 阅读(462) 评论(0) 推荐(0) 编辑
摘要:软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。工厂模式属于创建型模式,大致可以分为三类,简单工厂模式、工厂方法模式、抽象工厂模式。听上去差不多,都是工厂模式。下面一个个介绍,首先介绍简单工厂模式,它的主要特点是需要在工厂类中做判断,从而创造相应的产品。当增加新的产品时,就需要修改工厂类。有点抽象,举个例子就明白了。有一家生产处理器核心的厂家,它只有一个工厂,能够生产两种核心的处理器核。客户需要什么样的处理器核,一定要显示地告诉生产工厂。下面给出 阅读全文
posted @ 2013-06-26 18:12 Jamy Cai 阅读(1455) 评论(0) 推荐(1) 编辑