1、单例模式(静态模式)
使用原则:使内存中保持一个对象,写法如下:
- public class SingleObj{
- private static final SingleObj obj=new SingleObj();
- public static SingleObj getObj(){
- return obj;
- }
- private SingleObj{
- }
- }
2、工厂模式
使用原则:提供实例对象的引用,写法如下:
- public class Demo{
- public static void main(String[] args){
- Factory f=new Factory();
- f.getInstance().getString();
- }
- }
- public class Factory{
- public DemoDao getInstance(){
- DemoDao instance=new DemoDaoImp();
- return instance;
- }
- }
- interface DemoDao{
- public String getString();
- }
- public DemoDaoImp Implements DemoDao{
- public String getString(){
- System.out.println("工厂模式");
- };
- }
3、代理设计模式
使用原则:就像秘书和老板的关系,秘书负责日常事务的处理,比如老板行程安排、会议资料的整理,老板负责执行,比如开始行程 、开会宣布工作
- interface NormalTask{
- public void journey();
- }
- public class Boss implements NormalTask{
- public void journey(){
- System.out.println("开始行程");//老板开始行程
- };
- }
- public class Secretary implements NormalTask{
- private NormalTask task;
- public Secretary(NormalTask task){
- this.task=task;
- }
- public void planJourney(){//秘书需要做额外的安排工作
- System.out.println("安排行程");
- };
- public void journey(){
- this.planJournery();//判读是否安排好了行程,如果安排好了,就可以开始行程了
- this.task.journery();//通知老板可以开始行程了
- };
- }
- public class Demo{
- public static void main(String args[]){
- NormalTask task=new Secretary(new Boss());
- task.journery();//老板在秘书的安排下开始行程
- }
- }
4、观察者设计模式
5、适配器模式
当前文章价值8.83元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)
你可能感兴趣的文章
来源:每日教程,
每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://www.teachcourse.cn/android-common-design-pattern ,谢谢支持!
转载请注明出处: https://www.teachcourse.cn/android-common-design-pattern ,谢谢支持!
十一种错误的避孕观念
错误一、第一次进行性交的女性不可能怀孕。这是青少年中常见的传言。事实是:她是可能怀孕的。性交中没有“免费试用”的机会。
错误二、女性月经...
Python字符串实现MD5编码实例
在Python中实现MD5编码非常简单,你可以使用内置的hashlib模块来完成。以下是一个简单的MD5编码示例:
import hashlib
def md5_hash(input_stri...
Android语言kotlin数组详细介绍和示例说明
Android语言Kotlin数组详细介绍与示例说明
在Kotlin中,数组(Array)是一种固定大小的、同构数据元素序列。它们在内存中连续存储,因此访问元素...
面向抽象的编程思想
如何理解面向对象的编程思想,使用面向对象的编程思想有什么好处,Java需要理解的重要的概念:抽象类和接口
浅谈Android获取网络数据资源的方式
Android获取网络数据资源的方式有:1、URL获取方式;2、HTTP获取方式。
第一种:
String url="";//指定需要获取到的网络数据资源地址
URL myUrl=...
Genymotion-eclipse-plugin插件安装
Genymotion-eclipse-plugin插件代替genymotion-2.6.0.exe安装包,作为一个插件添加到Eclipse...
sql server存储过程基础语法
GO语法
go语句位于独立的行,执行go语句执行的命令完成后,才会执行go语句之后的命令,在下一条命令需要依赖上一条命令的结果的时候,需要使...
Python框架Flask封装和Flask-SQLAlchemy实际应用
虽然您的问题提到了PHP,但我理解您希望看到的是在Python Flask中使用MySQL查询并将结果以统一格式返回的例子。这里我们将结合之前提到的响应格...
Android SDK “Error when loading the SDK”
Android 5.1.1 API提供手表开发功能,在加载的system-images文件夹中的devices.xml文件时,经常报“Er...
一天教你熟悉掌握Android Studio开发Android Project
摘要
在TeachCourse博客的《初学Android Studio项目结构第一课》中,翻译了Google开发工具中Managing Projects Overview的API,了解模块module是...