Java学习笔记——2017-03-26

策略模式#

类图:

Java学习笔记——2017-03-26_第1张图片
策略模式类图

策略模式定义了算法簇,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
摘自:《Head First design patterns 中文版》Page:24

使用到的面向对象原则:

1.封装变化
2.多用组合,少用继承
3.针对接口编程,不针对实现编程

观察者模式##

类图:

Java学习笔记——2017-03-26_第2张图片
观察者模式类图

观察者获得数据的两种方式:

1.ConcreteSubject“推”数据
2.Observer主动“拉”数据

使用到的面向对象原则:

1.封装变化
2.多用组合,少用继承
3.针对接口编程,不针对实现编程
4.为交互对象之间的松耦合设计而努力

Java内置的观察者模式:

import java.util.Observer

1.先调用setChanged方法,标记状态已经发生改变
2.调用notifyObservers()或者notifyObservers(Object arg)
3.观察者调用update(Observable o,Object arg)实现更新
Java内置的观察者模式支持“推”和“拉”两种方式。
缺点:
1.Observable是一个类,而不是一个接口。Java不支持多继承,因此某类无法同时继承Observable和其它超类;
2.因为没有Observable接口,所以无法建立自己的实现;
3.Observable将关键的方法保护起来,这意味着除非继承自Observable,否则无法创建Observable实例并组合到自己的对象中来。这个设计违反了“多用组合,少用继承”这个设计原则。
摘自:《Head First design patterns 中文版》Page:71

Activity和Fragment生命周期--Android

Activity生命周期:

Activity:onCreate-->onStart-->onResume-->OnPause-->onStop-->onDestory
按home键:onStop,从home返回:onRestart-->onStart-->onResume
按返回键:onDestory
从一个ActivityA跳转到另一个ActivityB:A先onPause,然后B:onCreate-->onStart-->onResume,最后A:onStop
屏幕旋转:onDestory

Java学习笔记——2017-03-26_第3张图片
Activity生命周期

Fragment生命周期:

onAttach-->onCreate-->onCreateView-->onActivityCreated-->onStart-->onResume-->onPause-->onStop-->onDestoryView-->onDestory-->onDetach
切换到其它Fragment:onPause-->onStop-->onDestoryView
返回自身:onCreateView-->onActivityCreated-->onStart-->onResume

Java学习笔记——2017-03-26_第4张图片
Fragment生命周期

你可能感兴趣的:(Java学习笔记——2017-03-26)