原创 面向對象設計模式之TemplateMethod模板方法(行爲型)

動機:在軟件構建過程中,對於某一項任務,他常常有穩定的整體操作結構,但各個子步驟卻有很多改變的需求,或者由於固有的原因(比如框架與應用之間的關係)而無法和任務的整體結構同時實現;如何在確定穩定操作結構的前提下,來靈活應對各種子步驟的變化或者

原创 面向對象設計模式之Facade外觀模式(結構型)

  動機:有些系統組件的客戶和組件中各種複雜的子系統有了過多的的耦合,隨着外部客戶程序  和個子系統的演化,這種過多的耦合面臨很多變化的挑戰;如何簡化外部客戶程序和系統的交互接口?  如何將外部客戶程序的演化和內部子系統的變化之間的依賴相互

原创 面向對象設計模式之Flyweight享元模式(結構型)

動機:採用純粹對象方案的問題在於大量細粒度的對象會很快充斥在系統中,從而帶來很高的運行代價——主要指內存需求方面的代價。如何在避免大量細粒度對象問題的同 時,讓外部客戶程序仍然能夠透明地使用面向對象的方式來進行操作?意圖:運用共享技術有效地

原创 JSONP跨域原理和jQuery.getJSON用法

JSONP是一個非官方的協議,它允許在服務器端集成Script tags返回至客戶端,通過javascript callback的形式實現跨域訪問(這僅僅是JSONP簡單的實現形式)。本文主要介紹JSONP跨域原理,一起來看。   JSON

原创 IOC-控制反轉(Inversion of Control),也成依賴倒置(Dependency Inversion Principle)

基本簡介       IoC 亦稱爲 “依賴倒置原理”("Dependency Inversion Principle")。差不多所有框架都使用了“倒置注入(Fowler 2004)技巧,這可說是IoC原理的一項應用。SmallTalk,C

原创 Android 多線程:使用Thread和Handler

  當一個程序第一次啓動時,Android會同時啓動一個對應的主線程(Main Thread),主線程主要負責處理與UI相關的事件,如:用戶的按鍵事件,用戶接觸屏幕的事件以及屏幕繪圖事件,並把相關的事件分發到對應的組件進行處理。所以主線程通

原创 REST簡介及設計原則

rest,即REST(Representational State Transfer表述性狀態轉移)是一種針對網絡應用的設計和開發方式,可以降低開發的複雜性,提高系統的可伸縮性。 簡介 REST (REpresentational S

原创 javascript特殊運算符(in,instanceof,typeof,delete,void,逗號)

in運算符                 in運算符要求其左邊的運算數是一個字符串,或可以被轉換爲字符串,右邊的運算數十一個對象或數組。如果該 運算符左邊的值是右邊對象的一個屬性名,則返回true,否則返回爲false。eg:instan

原创 jquery實現頁面置頂功能代碼

<html> <head> <title></title><script type='text/javascript> //回到頂部功能 function gotoTop(min_height) { $("#toT

原创 面向對象設計模式之Interpreter解釋器模式(行爲型)

 動機:在軟件構建過程中 ,如果某一特定領域的問題比較複雜,類似的模式不斷重複出現,如果使用普通的編程方式來實現將面臨非常頻繁的變化。在這種情況下,將特定領域的問題表達爲某種語法規則的句子,然後構建一個解釋器來解釋這樣的句子,從而達到解決問