設計模式之0——簡單原廠模式

 簡介之所以名稱為“設計模式之0”,是因為,簡單原廠模式並不屬於23種GOF設計模式之一。他是由一個工廠對象決定建立出哪一個產品類的執行個體。簡單原廠模式是原廠模式家族中最簡單實用的模式,可以理解為是不同原廠模式的一個特殊實現。實質是由一個工廠類根據傳入的參數,動態決定應該建立哪一個產品類(這些產品類繼承自一個父類或介面)的執行個體。角色工廠(Factory)簡單原廠模式的核心,它負責實現建立所有執行個體的內部邏輯。工廠類可以被外界直接調用,建立所需的產品對象。抽象產品(Product)簡單原廠

設計模式之1——策略模式

生活案例        跟不同類型的MM約會,要用不同的策略,有的請電影比較好,有的則去吃小吃效果不錯,有的去海邊浪漫最合適,單目的都是為了得到MM的芳心,關鍵是追MM錦囊中有好多Strategy哦。電腦中的動機        而軟體構建過程中,某些對象使用的演算法可能多種多樣,經常改變,如果將這些演算法都編碼對象中,將會使對象變得異常複雜;而且有時候支援不使用的演算法也是一個效能負擔。如何在運行時根據需要透明地更改對象的演算法?將演算法與對象本身解耦,從而避免上述問題?概念      

“SELECT INTO” 與 “INSERT INTO SELECT”

        Insert是T-sql中常用語句,Insert INTO table(field1,field2,...) values(value1,value2,...)這種形式的在應用程式開發中必不可少。但開發、測試過程中,經常會遇到需要表複製的情況,如將一個table1的資料的部分欄位複製到table2中,或者將整個table1複製到table2中,這時候我們就要使用SELECT INTO 和 INSERT INTO SELECT 表複製語句了。但才者有著一定的區別!        1

JS 對象機制深剖——Object.prototype 是誰?

轉自:http://hi.baidu.com/lansesansan/item/9fb39d09f730913c4ac4a3d0我們通過 new Object 或直接量 {}

設計模式之2——Factory 方法模式

        之前有篇部落格,介紹了“簡單原廠模式”。這篇部落格簡要的介紹一下“Factory 方法模式”。簡介        定義一個使用者建立對象的介面,讓子類決定執行個體哪一個類。Factory Method使一個類的執行個體化延遲到子類。----------《設計模式》GOF        核心工廠類不再負責產品的建立,這樣核心類成為一個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得Factory

初嘗資料庫最佳化

        在前兩天的八九期學術交流會上,曹建新學長提到了:對資料的查詢盡量少用“*”,需要用哪個欄位就用相應欄位。對此自己產生了點小興趣,便折騰了一下。        1.建一個資料庫testDB:create database testDB        2.建一張測試表T-Test:use testDBcreate table T_Test (numberTest bigint,dateTest datetime,str1Test varchar(10),str2Test

大量設定word中表格的高度

最近寫文檔的時候,遇到了一個小問題。我們的文檔,大部分都是通過EA產生的,而通過EA產生的文檔,好多表格格式不是很美觀。不是表格的高度不合適,就是字型顯示不盡人意,這些都必須去修改。當瀏覽了一遍文檔後,發現有好幾十個表格,這要是一一修改的話,那一上午就甭幹別的了,光做重複工作了。記得有這麼一句話:如果同一件事情,你重複做了三次,那麼,肯定有簡單的方法來避免這種無謂的重複。於是上網找了一下,果然,VBA完美解決了這個問題。下面就說說如何用VBA解決這個問題。1、開啟Word,點擊視圖——宏——查看

Sybase資料庫伺服器端安裝

由於以前一直用sql server資料庫,早已熟悉了sql 環境,最近突然接觸sybase資料庫,不免有些陌生,各種不習慣呀。個人感覺sql比sybase好用多了,也許是我習慣sql了吧,但是有一點是可以肯定的,sql的視覺效果比sybase強的不是一點半點鐘。不過吧,sql比sybase強(這是對於使用者或是小型企業而言,對於大型企業來說,咱也不曉地,沒準sybase比較適合大型企業)也是理所應當的,畢竟sql是在sybase的基礎上發展起來的,怎麼說也算是站在巨人的肩膀上吧。好了,不多說了,

設計模式之3——抽象原廠模式

動機        在軟體系統中,經常面臨著“一系列相互依賴的對象”的建立工作;同時由於需求的變化,往往存在著更多系列對象的建立工作。如何應對這種變化?如何繞過常規的對象的建立方法(new),提供一種“封裝機制”來避免客戶程式和這種“多系列具體對象建立工作”的緊耦合?這就是我們要說的抽象原廠模式。簡介       

機房收費系統總結之1——類頭注釋模板

        最近一直在使用VS寫程式,按編程規範都得寫類頭注釋。有人說,這還不簡單,寫好一個類頭注釋,然後複製粘貼不就OK了嗎。那你真的OUT了!“不怕不知道,就怕不知道”。其實在建立類時VS能自動為我們添加提前定義好的注釋。步驟如何?下面就讓我們來一步步見證奇蹟(以VB.NET為例)。步驟:        一、找到Class.vb這個檔案,以記事本方式開啟。(直接搜尋即可找到;或是手動尋找:找到VS的安裝目錄,依次進入ItemTemplatesCache\VisualBasic\Code\

事務在資料庫以及.NET代碼中的使用

 一直感覺事務是很神秘的東西。其實呢,感覺它神秘,主要原因是自己沒有用過,等你真正用到它的時候,你就會發現,原來事務也不過如此。下面就跟大家分享一下事務在資料庫以及.NET代碼中的使用。先說說什麼是事務?資料庫事務(簡稱:

javafx.scene.control.TableView CONSTRAINED_RESIZE_POLICY

package tableview;import javafx.application.Application;import javafx.beans.property.SimpleStringProperty;import javafx.beans.property.StringProperty;import javafx.collections.FXCollections;import javafx.collections.ObservableList;import

設計模式之——六大原則

 單一職責原則(SRP:Single Responsibility Principle)    定義:就一個類而言,應該僅有一個引起它變化的原因。   簡述:不要把變化原因各不相同的職責放在一起,因為不同的變化會影響到不相干的職責。再通俗一點地說就是,不該你管的事情你不要管,管好自己的事情就可以了,多管閑事害了自己也害了別人。(當然這裡說的多管閑事跟見義勇為是兩回事,我們提倡見義勇為!) 開放——封閉原則(OCP:Open-Close Principle)   

機房收費系統總結之2——設定檔(初嘗)

        做機房收費系統,在加抽象原廠模式時,用到了“反射+設定檔”實現資料訪問程式。那“設定檔”何許也?這篇部落格大致介紹一下。一、概述        應用程式設定檔是標準的 XML 檔案,XML

“初識”三層架構

概述:        所謂的三層開發就是將系統的整個業務應用劃分為展示層——商務邏輯層——資料訪問層,這樣有利於系統的開發、維護、部署和擴充。        分層是為了實現“高內聚、低耦合”。採用“分而治之”的思想,把問題劃分開來各個解決,易於控制,易於延展,易於分配資源。舉例:       

JSoup 擷取本文,自動識別頁面編碼Charset

 public static String getContent(String url) throws Exception{HttpClient hc = new HttpClient();HttpMethod hm = new GetMethod(url);int statusCode = -1;byte[] result = null; statusCode = hc.executeMethod(hm); if(statusCode !=

淺談預存程序和觸發器

說到預存程序和觸發器,其實在以前做機房收費系統的時候就接觸到了。但是當時總感覺預存程序和觸發器是比較進階的東西,這個系統不用這些東西也可以。於是就一直沒有好好研究這塊知識。現在看牛腩新聞發布系統,再一次涉及到了這個東東,這才發現,預存程序和觸發器並沒有想象的那麼高深莫測。也許有人會說:那是你沒有深入研究。是,我承認,但個人覺得目前我們還沒有必要那麼深入研究。我們要做的就是:用20%的努力,獲得80%的知識。這樣就基本上可以滿足我們日常的需求了。下面就宏觀上說一下預存程序和觸發器。什麼是預存程序呢

巧用例外處理多傳回值問題

寫程式的時候,我們很有可能碰到這樣一種情況,就是寫一個方法時,它需要返回多個結果。就拿學生上機為例吧。當學生上機時,我們輸入學生卡號,然後調用“上機”這個函數,而上機這個函數就需要有多個傳回值,比如:輸入的卡號不存在、輸入的卡號正在上機、輸入的卡號餘額不足、上機成功等等,那麼我們該如何處理這種情況呢?以前我處理這種情況是通過返回一個int類型的變數來實現的,具體實現過程如下:上機函數部分:IF    卡號不存在     THEN      返回   0ELSEIF    卡號正在上機   

重構機房收費系統總結

經過十來天的時間,再一次將機房收費系統重構了一遍。同一個系統,同樣的功能,而兩次做卻有異樣的感受。 我感覺兩次的最大區別是自己看問題的角度不一樣了。第一次做的時候主要還是站在軟體編程人員的角度看待問題,側重點在功能的實現上,對軟體的開發流程和整體設計把握不是很好。而第二次更多的是站在軟體設計師的角度上看待問題,側重點是軟體的設計、架構,對系統的宏觀掌控明顯比第一次強很多。 看問題的角度不同,學到的東西當然就不一樣。第一次基本上算是忽略了文檔,根本沒有讓文檔起到他應有的作用。而通過驗收,深刻體會到

資料庫中遊標的使用

說道遊標,我想大家並不陌生。但對於我們大多數初學者來說,就未必用過遊標了。下面我就以一個實際例子給大家說一下我們為什麼要用遊標、什麼時候用、怎麼用。執行個體:某學校有多個班級,而每個班級裡有多個學生。現在我們要完成這樣一件事,假如有一天,這個學校不存在了,那麼屬於這個學校的班級也就不存在了,同理,這些班裡的學生也就不再屬於這個班了。需求明白了,我們開始建表,表結構如下:註:IsAvailable欄位值為否時標明該條記錄不存在。為了實現上述功能,我們決定用觸發器,於是在School表中建立觸發器,

總頁數: 61357 1 .... 18698 18699 18700 18701 18702 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.