首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
架构重构设计模式
订阅
倔强的小萝卜
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
支付宝客户端架构解析:iOS 容器化框架初探
1. 前言 由本章节开始,我们将从支付宝客户端的架构设计方案入手,细分拆解客户端在“容器化框架设计”、“网络优化”、“性能启动优化”、“自动化日志收集”、“RPC 组件设计”、“移动应用监控、诊断、定位”等具体实现,带领大家进一步了解支付宝在客户端架构上的迭代与优化历程。 本节…
面向对象设计的设计模式(一):创建型模式(附 Demo & UML类图)
继上一篇的面向对象设计的设计原则,本篇是面向对象设计系列的第二个部分:面向对象设计的设计模式的第一篇文章。 最开始说一下什么是设计模式。关于设计模式的概念,有很多不同的版本,在这里说一下我个人比较赞同的一个说法: 简单来看,设计模式其实就是针对某些问题的一些方案。在软件开发中,…
面向对象设计的六大设计原则(附 Demo & UML类图)
笔者想在 iOS 从业第三年结束之前系统学习一下关于设计模式方面的知识。而在学习设计模式之前,觉得更有必要先学习面向对象设计(OOD:Object Oriented Design)的几大设计原则,为后面设计模式的学习打下基础。 在下一章节笔者将分别讲解这些设计原则,讲解的方式是…
AppDelegate解耦
作为iOS整个项目的核心App delegate,随着项目的逐渐变大,会变得越来越臃肿,一不小心代码就过了千行. 大型项目的App delegate体积会大到什么程度呢?我们可以参考下国外2亿多月活的Telegram的 App delegate.是不是吓一跳,4千多行.看到这样…
阿里组件化框架BeeHive解析
更好的阅读体验,请到个人博客阅读: 阿里组件化框架BeeHive解析 本文是基于BeeHive版本1.6.0进行分析。 BeeHive核心思想涉及两个部分: 各个模块间从直接调用对应模块,变成以Service的形式,避免了直接依赖。 App生命周期的分发,将耦合在AppDele…
iOS 组件通信方案
阅读本篇文章以前,假设你已经了解了组件化这个概念。 最近两年移动端的组件化特别火,但移动端组件化的概念追其溯源应该来自于Server端,具体来说这种概念应该是由Java的Spring框架带来的。 Spring最初是想替代笨重的EJB,在版本演进过程中又提供了诸如AOP、DI、I…
iOS开发中的AOP利器 - Aspects 源码分析(一)
AOP全名为 Aspect Oriented Programming- 面向切面编程。AOP是OOP(Object-Oriented Programing - 面向对象编程)的补充和完善。 OOP引入封装、继承和多态等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我…
[贝聊科技]一次高效的依赖注入
01. 问题场景 最简单的主项目依赖第三方 pods。 组件依赖第三方 pods,主项目再依赖组件。 这种单向的依赖关系,决定了从组件到项目的通讯是单向的,即主项目可以主动向组件发起通讯,但是组件却没有办法主动和主项目通讯。 你可能说不对,可以发通知啊?是的,是可以发通知,但是…
面向对象设计的设计模式(二):结构型模式(附 Demo & UML类图)
一. 外观模式 定义解读:通过这个高层接口,可以将客户端与子系统解耦:客户端可以不直接访问子系统,而是通过外观类间接地访问;同时也可以提高子系统的独立性和可移植性。 子系统随着业务复杂度的提升而变得越来越复杂,客户端需要某些子系统共同协作来完成某个任务。 在多层结构的系统中,使…
iOS 从零到一搭建组件化项目框架
从上面这种各个业务组件的依赖关系来看,他们是互相依赖的,业务组件和业务组件间产生了严重的耦合关系,这样一来对我们工程的扩展性就会大大的降低,维护成本就会变高。 举个例子:假设某天产品经理说,咱们公司的业务发展的太好了,咱们的营销模块需要独立出来成一个单独的应用,以便于咱们可以添…