写Android有一年了 之前两年都在写iOS 自我感觉iOS的深度相比Android较浅
可是 这段时间感觉Android进入了瓶颈 不知道从何深入 就在网上各种查资料 翻书集 一直没有头绪 所以来到简述想通过写文章的方法 希望能找到深入的路径 下面先写一些基础知识
程序设计的六大原则
单一职责原则 : 面向对象五大原则之一 一个类只能有一个变化的原因 一个类应该只有一个职责 如果有一个类的职责多余一个 这些职责就会耦合到一起 造成脆弱的设计 当一个职责产生变化时 可能会影响到其他职责 另外 多个职责耦合到一起会影响复用性
里氏替换原则(LSP) : 面向对象的基本原则之一 里是替换原则中说 任何基类可以出现的地方 子类一定可以出现 LSP是继承复用的基石 只有当衍生类可以替换掉基类 软件单位的用能不收到影响时 基类才能真正的被复用
依赖倒置原则 : 高层次的模块不应该依赖于低层次的模块 他们都应该依赖于抽象 抽象不应该依赖于具体实现 具体实现应该依赖于抽象 简单来说就是要求对抽象进行编程 不要对现实进行编程 这样就降低了客户与现实模块之间的耦合
接口隔离原则 : 客户端不应该依赖他不需要的接口 一个类对另一个类的依赖应建立在最小的接口上 使用多个专门的接口总比使用单一的总接口要好
迪米特法则 : 一个对象应当对其他对象尽可能的少的了解 不和陌生人说话
开闭原则 : 是面向对象中可复用设计的基石 是面向对象的重要原则之一 其他很多的设计原则都是实现开闭原则的一种手段 对于扩展是开放的 对于修改是关闭的
23种设计模式
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。
抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口 而无需指定他们具体的类
适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口 Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作
桥接模式(Bridge):将抽象部分与她的实现部分分离 是他们都可以独立的变化
建造者模式(Builder):将一个复杂对象的构建与他的表示分离 使得同样的构建过程可以创建不同的表示
责任链模式(Chain of Responsibility):为解除请求的发送者和接受者之间的耦合 而使多个对象都有机会处理这个请求 将这些对象练成一条链 并沿着这条链传递该请求 直到有一个对象处理他
命令模式(Command):将一个请求封装为一个对象 从而使你可用不同的请求对客户进行参数化 对请求排队或记录请求日志以及支持可取消的操作
组合模式(Composite):将对象组合成树形结构以表示部分-整体的层次结构 他使得客户对单个对象和和复用对象的使用具有一致性
Java 字符串相关
String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。(一般String对象增加的时候是在多个对象上面操作的)
String 字符串常量 适用于少量的字符串操作的情况
StringBuffer 字符串变量(线程安全) 适用于单线程下在字符缓冲区进行大量操作的情况
StringBuilder 字符串变量(非线程安全) 适用多线程下在字符缓冲区进行大量操作的情况
java 线程池
newFixedThreaPool : newFixedThreaPool 创建固定大小的线程池 poolCoreSize 和 maxPoolSize 相等 到达 coreSize 则将新的任务放到缓存队列 有线程执行完毕 直接去取
newSingleThreadExecutor : newSingleThreadExecutor 创建一个单线程的线程池 核心池的大小和最大池的大小都为1
newSingleThreadExecutor : newSingleThreadExecutor 无线大小的线程池 提交一个任务就创建一个线程执行
如果默认的几个线程池还不能满足你的要求 就自定义线程池 继承ThreadPoolExecutor
java集合
Collection:
(1) List:
LinkedList
ArrayList
Vector
(2) Set
HashSet
TreeSet
Map:
HashMap
TreeMap
HashTable
这些资料来自于 依然范特稀西的Android 开发者该如何进阶
接下来会继续记录基础:Android 四大组件的东西
和 Android 进阶的内容:自定义组件 App 的架构 Android 动画 多媒体 权限 自定义 gradle 插件 了解开源库
合适的时候把自己的工具类库收集下
网友评论