架构与设计模式
文章平均质量分 89
从设计模式六大原则到设计实现整个学习过程,收获很大,特别是对JAVA的面向对象及三大特性(继承、多态、封装)有更深的理解。其实设计模式最终目的就是封装,将表现层与业务逻辑层进行分离,达到解耦的目的。
H.ZWei
这个作者很懒,什么都没留下…
展开
-
五分钟读懂UML类图
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧:一、类的属性的表示方式在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。那么属性/方法名称前加的加号和减号是什么意思呢?它们表示了这个属性或方法的可见性,UML类图中表示可见性的符号有三种.转载 2021-09-11 23:45:01 · 184 阅读 · 0 评论 -
设计模式中类的关系
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。 1. 依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另...转载 2021-09-09 16:46:12 · 164 阅读 · 0 评论 -
WebView独立进程方案-基于腾讯X5的二次封装
文章目录前言概述基本使用架构流程命令模式预初始化参考前言概述几乎所有的App都会用到WebView组件,用WebView承载业务功能也是一种选择,毕竟不用等待应用市场的审核,提升业务上线与bug修复的及时性,但WebView加载业务功能,也有很大的缺陷,体验不好(主要体现在加载、交互上)、耗内存;针对耗内存的问题这里提供跨进程的设计方案,让WebView在单独的一个进程中运行,这样做的好处是分担主进程的内存压力,另外WebView进程发生崩溃了,也不会影响到主进程的正常运行。WebView跨进程通信是原创 2021-08-08 19:53:34 · 2273 阅读 · 0 评论 -
Android组件化之组件通信
本文是续上一篇Android组件化方案实践与思考文章一些思考,主要是针对组件间通信,比如:每个组件如何初始化各自的数据Activity间如何跳转、Fragment实例获取、如何调用普通类的函数如何在一个组件中通知另外一个组件数据变化这些问题是我们在组件化过程中都会遇到问题,在项目中肯定远远还不止这些问题,在这样我遇到的问题记录下来,有不对的地方希望大家多多指点!!组件数据初始化常规...原创 2018-11-20 23:37:28 · 3472 阅读 · 0 评论 -
Android组件化方案实践与思考
Demo地址:https://github.com/751496032/ComponentDemo效果图:背景Android从诞生到现在,不知不觉的走过十多个年头了,也产生了很多App,随着项目的推进不断的迭代,而App也从最初的单一功能演变成多任务功能,各种业务的错综复杂,开发人员也不断的增加,如果架构不做调整优化,会给开发带来很大的困难:各种业务代码耦合性及高,代码臃肿会越来越高,...原创 2018-10-21 01:25:47 · 542 阅读 · 0 评论 -
Android架构设计之MVP模式
MVP基本概念MVP(Model-View-Presenter)是从MVC的演变过来的,MVP的角色定义:模型层(Model):主要是获取数据功能,业务逻辑和实体模型。视图层(View):对应于Activity或Fragment,负责视图的部分展示和业务逻辑用户交互控制层(Presenter):负责完成View层与Model层间的交互,通过P层来获取M层中数据后返回给V层,使得V层与...原创 2018-03-20 23:36:47 · 2190 阅读 · 3 评论 -
Android架构设计之MVC模式
一、MVC基本概念MVC(Model-View-Controller,模型-视图-控制器)模式在Android中曾经是比较流行的架构设计模式;使用MVC设计模式的好处UI界面与业务逻辑数据的分离,在修改或者优化界面及用户交互的同时,无需重新编写业务逻辑。Android中的MVC的角色如下:模型层(Model):是用进行业务逻辑的处理,比如一些网络访问操作、数据库的操作等等,总之一些耗时操...原创 2018-03-20 20:30:38 · 520 阅读 · 0 评论 -
UML各种图总结 - 精华
UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。一、基本概念 如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署...转载 2018-06-19 21:39:12 · 989 阅读 · 0 评论 -
设计模式学习 - 单例模式
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。Singleton类,定义了一个getInstance方法,允许客户访问该方法获取唯一实例,getInstance是一个静态方法,主要负责创建自己及的唯一实例。单例模式的实现写法饿汉模式public class Singleton { //类加载时就会初始化 ,使用了static final进行修饰实例常量,也就是该常量不可改变了而...原创 2018-06-18 23:29:48 · 225 阅读 · 0 评论 -
设计模式学习 - 简单工厂模式
一. 简单工厂模式简介定义简单工厂模式又称之静态工厂方法模式,由一个工厂类对象决定创建出哪类产品的实例。通俗的讲,就是通过传参的方式,在工厂类中判断,找出对应的实例返回。在现实中,工厂是负责生产产品的。在设计模式中,简单工厂模式也可以理解为负责生产某个类的实例对象。UML结构图Factory:工厂类,负责创建所有实例对象的内部逻辑,外部可以调用创建实例对象的方法,来得到...原创 2018-06-19 23:51:48 · 272 阅读 · 0 评论 -
设计模式学习 - 工厂方法模式
上篇学习了简单工厂模式,简单工厂模式的优点就是工厂类封装具体对象的实现逻辑,会根据外部传入的选择条件来判断返回对应的具体对象,也就是调用者无需关心内部实现逻辑,只需传入所需对象的类型即可,同样的缺点也很明显,如果要通过工厂类的获取所需的具体对象,必须在工厂类中的静态方法先定义该类型才行,如果新增了类型,就要修改此前的静态方法中的判断语句,需要增加一个if或者case语句,来定义新类型,这样才能获取...原创 2018-06-20 23:03:49 · 267 阅读 · 0 评论 -
设计模式学习 - 建造者模式(Builder)
建造者模式简介定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。用户只需指定需要建造的类型就可以得到它们,而具体的建造的过程和细节无需知道。UML结构图Builder:抽象建造类(或接口),抽象方法含有两部分,一部分是各个组件设置赋值的方法,另外一个是带返回值(具体产品类Product)的方法。ConcreteBuilder:具体建造类,继承...原创 2018-06-22 22:01:16 · 287 阅读 · 0 评论 -
设计模式学习 - 代理模式
我托人去香港代购。 我:真实主题类 托人(中介黄牛):代理类 我和中介都有共同的行为,购买,于是可以比作抽象接口类。原创 2018-06-23 13:07:48 · 194 阅读 · 0 评论 -
设计模式学习 - 适配器模式
据说,姚明刚刚去NBA打球时,有记者采访姚明说:“在CBA和NBA最大的区别是什么?”,姚明的答案是“在NBA我需要翻译,而在CBA我不需要”,可见姚明刚开始是不懂外语的,在比赛中,怎样听懂明白教练的战术安排,此时就需要找到一个中间人进行翻译,把教练的话翻译成中文,姚明就可以听懂了原创 2018-06-24 11:08:27 · 365 阅读 · 0 评论 -
设计模式学习 - 策略模式
某商场为迎接国庆的到来,决定开启商品促销活动,活动细节如下针对不同会员等级优惠的折扣有所不同,同时与消费金额所关联,消费金额在不同范围折扣优惠率也不一样。 - 普通会员:没有任何优惠折扣 - 初级会员:消费100-200元有5%的促销折扣,消费200(含200)以上元有10%促销折扣 - 中级会员:消费100-200元有10%的促销折扣,消费200(含200)以上元有15%促销折扣 - 高级会员:消费100-200元有15%的促销折扣,消费200(含200)以上元有20%促销折扣原创 2018-06-24 17:16:16 · 356 阅读 · 0 评论 -
设计模式学习 - 观察者模式
近日,世界杯正在火热的进行中,幸好赛程不是在白天,大部分安排在夜间23点到2点间,避免了上班偷偷摸摸看世界杯,生怕被领导发现……可以熬夜也是一种痛苦啊……但NBA季后赛和总决赛就没有这么好了,好多赛程都在平时上班时间内进行,今年是火箭近些年最有希望夺冠的一年,当火箭在西部决赛拿到赛点的时候,感觉离冠军越来越近了,可是最终还是被勇士翻盘了;在这期间为了看比赛,上班总是在不断切换屏幕,怕领导突然进入办公室被发现,可就惨了。 由于跟前台的妹子平时聊的还比较好,事先跟前台妹子通通气了,如果领导来了,马上发震动消原创 2018-06-26 01:51:57 · 226 阅读 · 0 评论 -
设计模式学习 - 总结
经过了一个多星期的学习,设计模式总共有23种,只学了开发中常用的9种模式,整个学习计划分为两个阶段,第一阶段的学习就暂告一段落了。第一阶段:主要是设计模式的UML类图、定义理解、代码简单实现。第二阶段:主要结合Android源码中所涉及的设计模式,加深对设计模式的理解及灵活应用。下面是计划安排内容:设计模式六大原则创建型设计模式单例模式简单工厂模式工厂方法模式建造...原创 2018-06-26 22:29:58 · 258 阅读 · 2 评论