美文网首页Android 进阶之路
Android 进阶之路 1:基础篇

Android 进阶之路 1:基础篇

作者: 雪纳瑞的哈士奇 | 来源:发表于2018-06-21 15:40 被阅读15次

写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 插件  了解开源库   

合适的时候把自己的工具类库收集下

相关文章

网友评论

    本文标题:Android 进阶之路 1:基础篇

    本文链接:https://www.haomeiwen.com/subject/pgzqyftx.html