欢迎拍砖:
最近做了一个项目,要求java和android平台之间的代码尽量独立。把与平台有关的部分分离出来。
其中canvas和bitmap之间就绑定得很死。如何解耦。桥模式就用上了。
ICanvas 引用一个 IBitmap
ICanvas有一个Draw方法。 IBitmap提供getWidth 和getHeight接口 供调用。还有IPaint也要抽象出来,放进去。
这样就形成了一个上层的桥。
ICanvas -------->IBitmap ICanvas ------>IPaint
下层是
AndroidCanvas ------>AndroidBitmap ---------------->AndroidPaint
这就达到了抽象ICanvas和实现 IBtimap和IPaint分离的目的。
桥模式就是一个万能的解耦密码。如果一个东西和另外一个东西耦合性特别紧,那么怎么办呢。最近在做一个游戏地图
Map -------------------------》Layer
这样的关系
经过修改后,是这样的关系
IMap --------------------》ILayer
下层是
Map ---------------------》Layer
这就是桥模式啊。
Map与他的实现 Layer相分离,都可以独立的变换,互不影响。
以前以为桥模式没什么用,威力现在看来威力不小。
分享到:
相关推荐
通过学习《ASP.NET3.5 前沿技术与实战案例精粹》,读者不仅可以掌握ASP.NET 3.5的关键技术,还能通过实例提升解决问题的能力,为今后的Web开发工作打下坚实基础。这本书附带的光盘可能包含案例代码、演示视频或其他...
- **最新技术**:课程基于最新的iOS 5 SDK和Xcode工具,确保学员学到的是最前沿的技术。 - **资源共享**:提供所有课程材料和案例代码,方便学员复习和积累。 - **真机演示**:课程中的所有案例都将在真实的iOS设备...
4. 在具体实施过程中,教师需要精心设计项目案例,确保案例覆盖课程大纲中的所有知识点,并能激发学生的创新思维。同时,教师还需要扮演指导者的角色,引导学生在遇到问题时自主寻找解决方案,培养他们的分析问题和...
该校提供的iOS应用开发课程,不仅面向在校学生,也向全球开放,旨在让更多对iOS开发感兴趣的人士能够学习到最前沿的技术知识。 #### 1.2 课程特点 - **免费开放**:课程视频资源完全免费,任何人都可以通过网络访问...
项目教学模式是一种基于实际案例的教学方法,它强调以具体项目为核心,让学生参与到整个项目开发的过程中去。这种方式不仅可以帮助学生深入理解网站开发中的关键技术点,还能有效提升学生的实践能力和解决问题的能力...
1. **专业深度**:课程内容紧密结合行业需求,确保学员掌握最前沿的技术和理论知识。 2. **实战经验**:采用真实工程项目作为教学案例,让学员在实践中积累经验。 3. **持续更新**:课程内容定期更新,确保与业界...
同时,创新教学模式,采用项目驱动、案例教学等方法,提高学生的实践能力和问题解决能力。最后,改革评价模式,除了传统的考试评估,还引入实战项目评估和职业技能等级证书的考核,促进理论与实践的结合。 【职业...
- **教材与参考书目**:课程推荐使用最新的Android官方文档作为主要参考资料,并结合权威的Android开发指南书籍,确保学生获取最前沿的技术知识。 - **实验实训条件**:提供完善的软件项目开发实训室,配备必要的...
书中的源码提供了丰富的实践案例,帮助读者更好地理解和应用所学概念。这里我们将围绕LAMP架构、Zend框架以及开源框架整合开发进行详尽的探讨。 LAMP,即Linux、Apache、MySQL和PHP,是Web开发领域最常用的技术栈。...
1. **汇聚全球顶级技术专家**:由具有丰富实战经验的资深架构师授课,确保学员能够学到最前沿的技术和方法论。 2. **全面覆盖多个技术领域**:除了软件架构设计外,还包括.NET平台、C++开发、Java开发等多个方向的...
此外,高职院校应加强与企业的合作,通过校企合作项目,让学生提前接触到行业最前沿的技术和工作流程。邀请业界专家参与课程设计和教学,让学生在校学习期间就能接触到企业实际工作中的案例和问题,从而缩短理论与...
来自Microsoft、IBM、SUN、Oracle等全球知名公司的技术专家,为学员带来了最前沿的技术知识和丰富的工作经验。 实训方案的另一大亮点是全部由在职专家团队提供实训,保证了教学内容的实时更新和贴近实际工作需求。...
4. **前沿技术**:本书覆盖了当时最新的jRuby版本和Rails框架特性,让读者了解并掌握最前沿的开发技术。 ### 结语 《jRuby on Rails WEB2.0》不仅是对于希望将Ruby on Rails技术引入Java平台的开发者来说是一本...
根据给定文件的信息,我们可以提炼出以下几个主要的知识点: ...此外,参加如GMTC这样的大型技术会议,不仅能够了解到最前沿的技术信息,还能够拓宽视野,结识同行,为个人职业发展带来更多的机会。
- 国际视野: 与国际咨询机构合作,跟踪国际研发管理最前沿动态。 ### 三、华成的务实性 1. **核心理念**: “只有适合的,没有最好的”,强调解决方案的实用性而非追求表面上的最佳。 2. **实施路径**: 从理念出发...
【电子商务课程教学策略】 在当前快速发展的电子商务领域,教学内容的更新与教师的社会实践经验对于...这样,才能确保学生能够学习到最实用、最前沿的电子商务知识,更好地适应市场需求,实现理论与实践的深度融合。
### 混沌学园-AIGC业务能力实战14讲 #### 一、AIGC概述 **AIGC**(Artificial Intelligence Generated Content),即人工智能生成内容,是指利用AI技术自动生成的文字、图像、音频或视频等内容。随着自然语言处理...
最新的视频教程能够确保学习者掌握最前沿的技术知识。 ### 四、学习建议 1. **循序渐进**:从基础开始逐步深入,避免跳跃式学习。 2. **动手实践**:理论与实践相结合,通过自己编写代码来加深理解。 3. **社区...