目前分類:程式設計 (8)

瀏覽方式: 標題列表 簡短摘要

java23種設計模式中最常用的9種 
1 Factory Pattern(工廠模式)   上榜理由:將程序中創建對象的操作,單獨出來處理,大大提高了系統擴展的柔性,接口的抽象化處理給相互依賴的對象創建提供了最好的抽像模式。   

2 Facade Pattern(門面模式)   上榜理由:將表現層和邏輯層隔離,封裝底層的複雜處理,為用戶提供簡單的接口,這樣的例子隨處可見。門面模式很多時候更是一種系統架構的設計,在我所做的項目中,就實現了門面模式的接口,為複雜系統的解耦提供了最好的解決方案。   

milly20423 發表在 痞客邦 留言(0) 人氣()

http://www.dotblogs.com.tw/joysdw12/archive/2013/03/13/96531.aspx


milly20423 發表在 痞客邦 留言(0) 人氣()

http://study.qqcf.com/web/230/24589.htm


milly20423 發表在 痞客邦 留言(0) 人氣()

理解Android系統的進程間通信原理(一)----RPC中的代理模式 
Android系統中的進程間通信是通過一個輕量級的RPC(Remote Procedure Call遠程進程調用)和AIDL (Android Interface Definination Language)規範來生成兩個進程之間可以相互訪問的代碼。其中RPC是以接口方式來實現,客戶端與被調用實現之間是通過代理模式來實現的,這些又是以JAVA的RMI和代理模式為理論基礎的,若要靈活掌握這個輕量級的解決方案,有必要重新理順這些基礎知識的,這裡我們先了解代理模式的相關基礎, 

milly20423 發表在 痞客邦 留言(0) 人氣()

  Singleton  (獨身模式或叫單例模式):確保一個類只有一個實例,並提供對該實例的全局訪問。

I. 單一職責原則
1. 簡介
單一職責原則(Single Responsibility Principle,SRP)其定義為:應該且僅有一個原因引起類別的變更。假設我們設計一個業務角色存取控制的模型,傳統上我們將增加用戶、用戶管理等功能都寫入同一個介面中,如圖1-1。這樣的設計方式會一團糟,不易於維護。我們應該把用戶的屬性與行為分開,將用戶資訊抽取成一個業務物件(Business Object,BO),把行為抽取成業務邏輯(Business Logic,Biz),按照這個思路就可以將類別圖修正為圖1-2。利用介面導向就可以依需求全部實做,或是只當其中單一功能,UserInfo要獲得用戶資訊,就當作IUserBO的實做類別,若希望能操作用戶行為,就當作IUserBiz的實做類別及可。


圖 1-1 傳統用戶資訊維護類別圖

圖 1-2 職責劃分後的類別圖

2. 單一職責原則的好處
單一職責原則提出了一個程式設計的標準,用“職責”或“變化原因”來衡量介面或類別設計是否優良,但是這些都是不可度量的,會因專案而異,因環境而異。單一職責原則好處如下:
 類別的複雜度降低:實現什麼職責都有清晰明確的定義。
 可讀性提升:複雜度降低可提升可讀性。
 可維護性提升:複雜度降低易於維護。
 變更引起的風險降低:修改介面只會影響相應有實做的類別,降低改錯風險。

3. 實踐原則
對於介面,很容易就可以做到單一職責。但是對於類別實做就得多方面考慮,生搬硬套單一職責類別可能會造成類別數量劇增,過度細分則會增加系統維護的複雜性,因此可以靈活運用。單一職責也適用於方法,一個方法盡可能只做一件事情,譬如定義一個修改用戶密碼方法,就別把此方法合併到修改用戶資訊方法中,簡而言之,單一職責方法清晰明確,可以避免別人還要猜測方法的邏輯,維護較為容易。對於單一職責原則,建議為介面一定要做到單一職責原則,類別的設計則盡量做到只有一個原因引起的變化,方法則盡可能只做一件事情

milly20423 發表在 痞客邦 留言(0) 人氣()

Android按鈕狀態(Button State)

 
在Android中,drawable widget有很多種state,透過 xml 的 <selector>,也就是定義 StateList Drawable,能夠讓Android針對drawable(例如Button)的狀態,選擇要顯示的圖片。

milly20423 發表在 痞客邦 留言(0) 人氣()

  • Step 1: Right click on your project at Package explorer(left side in eclipse)
  • Step 2: goto Android.
  • Step 3: In Library section Add Library...(google-play-services_lib)
    see below buttes

milly20423 發表在 痞客邦 留言(0) 人氣()

How to fix Android SDK Content Loader stuck at 0% in Eclipse

Have you encountered the case where Eclipse hangs upon startup, in particular when you are developing an Android application with Android SDK? When that happens, you would see "Android SDK Content Loader" stuck at 0% at the Eclipse status bar in the right bottom area.

milly20423 發表在 痞客邦 留言(0) 人氣()