# i_video **Repository Path**: liu-zi-gson/i_video ## Basic Information - **Project Name**: i_video - **Description**: 三兄弟安卓i视频项目组 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-22 - **Last Updated**: 2025-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 一。组件化搭建 ## 二。日志模块封装 1.日志输出策略: 线下:Logcat、磁盘 线上:服务器、邮件 2.设计模式: 单例模式:保证只有一个实例 构建者模式:在构建过程中逐步设置对象的属性,而不需要一次性提供所有参数(okhttp、retrofit) 策略者模式:根据不同的策略创建不同的对象,只需要改一个策略,整个项目就会改变(gilde) 四种缓存策略: DiskCacheStrategy.ALL:原始图片、转换后的图片 DiskCacheStrategy.NONE:不缓存 DiskCacheStrategy.DATA:原始图片 DiskCacheStrategy.RESOURCE:转换后的图片 工厂模式: 代理模式: 模板模式: 适配器模式: 观察者模式: 3.设计原则: (1)单一职责:一个类只负责一项职责 (2)开闭原则:对扩展开放,对修改关闭,面向接口和抽象编程,后期扩展方便 (3)里氏替换原则:子类必须能够替换其父类,面向接口和抽象编程 (4)接口隔离原则:一个接口只干一件事,如果一个接口定义了太多方法,就会实现一些没用的方法,导致代码冗余 (5)依赖倒置原则 (6)迪米特法则:高内聚低耦合