最近在瀏覽網路文章時發現微軟的 Enterprise Library, 雖然不是什麼新東西(2005年就發表第一版), 目前的版本是 6.0(April 2013),但發現 Enterprise Library 竟然是 open source 的, 看了一些範例程式發現裡頭大量使用一些 Design Pattern 來簡化目前程式,激起了我研究他的興趣, 因為工作的關係現在比較少機會接觸到微軟的程式, 但他裡頭的設計方式是值得學習和研究的, 想要了解這 Library 第一步驟當然要先學會如何使用它, 先從連接資料庫的部分開始
首先 Refrences 加入 Microsoft.Practices.EnterpriseLibrary.Data
using directive
using Microsoft.Practices.EnterpriseLibrary.Data;
在不使用 LINQ 和 Entity Framework 的狀況下,如果要將資料庫裡的資料轉變成為強型別的物件
1. 在未使用 Enterprise Library 之前原本的做法
public...
8/22/2013
8/16/2013
JavaScript function 的兩種宣告方式
寫法一
function subtract(a, b){
return a - b;
};
寫法二
var subtract = function (a, b) {
return a - b;
};
這是兩種不同的 function 宣告方式
第一種寫法是 Function Declaration
產生 execute context 階段時 Function Declaration 就已存到 VO(Variable Object), 所以在執行階段(Execution Stage), 函式就已先存在, 造成的結果是程式呼叫的位置可以比程式宣告更前面
var result = subtract(1,2);
function subtract(a, b){
return a - b;
};
第二種寫法是 Function Expression
Function Expression 寫法在執行階段才建立,並且不會被存在變數物件(VO)中, 可依照條件建立 Function Expression
var...
8/14/2013
Javascript execution context

什麼是 execution context ?
一個 execution context 包含了一些資訊, 而這些資訊在程式執行期間是必要的, 而這些資訊包含
LexicalEnvironment
VariableEnvironment
ThisBinding
當 Javascript 程式執行時, 會產生 execution context, 每段可執行的程式都有其對應的 execution context, 運作中的 execution contexts 像一個 logical stack, 而最上層的 Stack 就是正在執行的 execution context
產生 Execution Context 依照程式的不同,而會有三類不同的狀況
1. Entering Global Code
var i = 0;
function test(){console.log("test");}
2. Entering Function Code
function factorial(num)
{
if (num...
8/02/2013
Javascript Prototype Chain

Javascript 使用 prototype 來達到類似其他語言的繼承概念, 要了解 Javascript 的繼承, 首先要了解 prototype chain, 當我們建立一個 Javascript 物件, 並使用 Javascript 屬性時, 會先從物件內部所擁有的屬性開始尋找, 如果找不到屬性的名稱,就會從 prototype 所指向的物件繼續搜尋, 一層一層的往內搜尋, 這就是原型鏈搜尋
首先我們使用 function 來建構一個物件 (Object Constructor)
function Earth(){};
接著建立一個物件實例(Object Instances)
var e1 = new Earth();
建立實例的過程中不單單是設定 name 屬性, 還把 Employee 所繼承的物件帶給 e1
new 的動作相當於
var e1 = {};
e1.__proto__ = Earth.prototype;//__proto__ Non-standard
Earth.call(e1);
使用...
Subscribe to:
Posts (Atom)