总述

工厂设计模式

public class test {       public static void main(String[] args) {              Location position= new LocationFactory().getInstance("xiaomi");              position.getPosition();              position.getCityName(10, 20);       }}class LocationFactory{       public static Location getInstance(String type){              if("baidu".equals(type)){                     return new BaiduLocation();              }else {                     return new XiaoMiLocation();              }       }}class BaiduLocation implements Location{       @Override       public void getPosition() {              // TODO Auto-generated method stub              System.out.println("通过百度定位获取到当前的经纬度是XXXXX");       }       @Override       public void getCityName(long lat, long lng) {              // TODO Auto-generated method stub              System.out.println("通过百度定位获取到当前的城市是XXXXX");       }}class XiaoMiLocation implements Location{       @Override       public void getPosition() {              // TODO Auto-generated method stub              System.out.println("通过小米定位获取到当前的经纬度是XXXXX");       }       @Override       public void getCityName(long lat, long lng) {              // TODO Auto-generated method stub              System.out.println("通过小米定位获取到当前的城市是XXXXX");       }}/*接口的好处在于可以不通过上下级关系来分享一些共有的方法*/interface Location{       public void getPosition();       public void getCityName(long lat,long lng);}

观察者模式

通过实现接口,然后实现接口中的方法,被观察者通过notify来唤醒观察者

参照http://blog.csdn.net/sinat_28324227/article/details/49866147

代理模式

接口中的方法为代理者和被代理者都要做的方法

代码重构

//若一个方法的长度过长考虑分解,分解是注意提取带有返回值的方法来分解代码1.好的代码从变量名就能看得出代码清晰2.绝大多数情况下,函数应该放在它所使用的数据的所属对象A内,然后在另一个类中写一个得到A中数据的方法调用3.想清楚代码要做的事,例如想计算不同的电影租赁价格不同,应该给Movie传类型,给Rental传租赁时长,而不应该给Movie传租赁时长4.运用多态来代替switch中判断同属于一个对象,但是存在区别的语句跳转,不同的case下创建不同的对象

更多相关文章

  1. android studio中rendering problems解决方法
  2. android 利用startActivityForResult()方法得到另一个Activity的
  3. 高德地图自定义Marker点击时出现的InfoWindow
  4. 重装Ubuntu13.04后需要做的事情
  5. andorid 自定义seekbar
  6. Android(安卓)Google地图那些事
  7. 【Android】打开/读取文件的方法
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. android camera(三):camera V4L2 FIMC
  2. Android(安卓)GPS 获取
  3. android 可执行程序终于可以在nxp8473--c
  4. Android(安卓)中 动画效果实现
  5. android工具之TraceView学习笔记
  6. Android(安卓)应用语言设置的实现
  7. Android之glide加载图片圆角效果
  8. Android多点触控(图片的缩放Demo)
  9. Android(安卓)VelocityTracker的使用
  10. Android(安卓)发展史