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、适配器模式
当前文章价值9.2元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章
来源:每日教程,
每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
转载请注明出处: https://teachcourse.cn/android-common-design-pattern ,谢谢支持!
浅谈JDK和JRE
JDK(Java Development Kit),即Java开发工具包;JRE(Java Runtime Environment),即Java运行环境;两者在Windows系统使用的时候都需要对Path...
Genymotion安装APP出现:INSTALL_FAILED_UPDATE_INCOMPATIBLE
Genymotion模拟器安装APP提示“INSTALL_FAILED_UPDATE_INCOMPATIBLE“错误信息的原因,APP版本...
nginx防止DDOS攻击配置
防止DDoS攻击是一项综合性的任务,涉及到网络层面、系统层面以及应用程序层面的防御措施。对于基于Nginx的Web服务器,以下是一些基本的配置方法...
如何重用接口多个抽象方法中的一个或多个?
摘要:
接口的好处,只需要把参数传递过来,具体需要做什么用或如何处理,全权交给实现类,一个接口可以有多个实现类,每个实现类根据自身的需要...
关于LinearLayout设置权重后width或height不设置0dp的影响说明
水平或垂直LinearLayout控件设置权重android:layout_weight属性后,无法平均分配的问题,网络加载图片大小不一致...
WordPress文章分页插件:Multi-page Toolkit
今天在网上搜索了一下关于文章分页的代码,在知更鸟网站中看到了一款非常强大的Multi-page Toolkit插件
使用Kotlin实现设计模式中的状态模式
状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。以下是使用Kotlin实现状态模式的示例:
定义状态接口:所有具体...
Cannot run program “git.exe”: createprocess error=2,系统找不到指定的文件
摘要
Android Studio提供VCS(Version Control System)版本控制系统,默认情况使用Git、GitHub工具需要配置git.exe路径,否则提示“cannot run pr...
007-wordpress防止文章被爬取,编码实现
WordPress 本身并没有内置防止内容被爬取的功能,因为这通常与网站的开放性和搜索引擎优化相违背。然而,在某些情况下,需要限制特定内容不被非...
python库moviepy给图片增加淡入淡出效果
要在创建ImageClip后添加淡入淡出效果,可以利用moviepy库提供的fadein和fadeout方法。以下是修改后的代码,为每张图片添加淡入和淡出效果:
fro...