日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Builder模式在开发中的应用

發布時間:2024/9/30 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Builder模式在开发中的应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在學習圖片加載框架Glide的時候,被他精簡的寫法震驚了。一句話,就可以搞定。

Glide.with(mContext).load(url).centerCrop().placeholder(R.drawable.default_img).crossFade().into(mImageView);

 

同時在年初的時候,學習RXJava的時候,用鏈式編程很優雅。

Observable.just( "1" , "2" ).subscribeOn(Schedulers.io() ).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<String>() {@Overridepublic void call(String s) {}}) ;

  

今天就來學習一下,建造者模式在Android中簡單應用 。

Builder 的好處

  • 代碼可讀性好,只需要寫一句代碼,鏈式編程很優雅
  • 方便。通過不同的組合就可以創建不同的對象
  • 解耦。不需要知道細節,將對象本身與對象構造過程分離。

?

Builder 模式要怎么寫?

?

package com.app.lib;/*** Created by ${zyj} on 2016/6/27.*/ public class UserMoule {private String id ;private String name ;public UserMoule( String id , String name ){this.id = id ;this.name = name ;}static class Builder {private String id ;private String name ;public Builder setId(String id) {this.id = id;return this ;}public Builder setName(String name) {this.name = name;return this ;}public UserMoule create(){return new UserMoule( id , name ) ;}}}

  調用

new UserMoule.Builder().setId( "id").setName( "json").create() ;

  

為什么 Builder 要用 Static?修飾?

一般寫內部類的意圖都是為了說明該類和宿主類關系密切,而private , static , final 這些可以單獨拿出來說,static這個區別比較大,沒有static修飾,說明此類必須依賴宿主類的對象;而有static修飾,就不依賴與對象的存在了,類名. 即可,整體類似方法上添加static。private這玩意,完全取決于你是否希望將此類暴露出去;final則是為了標明該類不可繼承修改.

? ? ?而且

使用static就如同你新建了一個JAVA文件,靜態內部類不會保持對外部類的引用。如果你的builder需要外部類的引用,那它Build就沒有意義了,所以必須加static。

?

總結

  • 使用 Builder 模式可以解耦,更方便地構造不同的對象
  • Builder 類要用 static 修飾
  • 這里使用了簡化的Builder模式,將抽象建造者省略,并且也省略了指導者角色 。

?

相關鏈接:http://www.jianshu.com/p/5d9db54892c8

?

總結

以上是生活随笔為你收集整理的Android Builder模式在开发中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。