物件導向的設計原則摘要

The principles of class design: SRP(Single Responsibility Principle)單一職責原則:  一個類應該有且僅有一個職責。所謂一個類的職責是指引起該類變化的原因,如果一個類具有一個以上的職責,那麼就會有多個不同的原因引起該類變化,其實就是耦合了多個互不相關的職責,就會降低這個類的內聚性。 OCP(Open - Colse Principle) 開放-封閉原則:軟體實體(類、模組、函數等等)應該是可以對模組進行快速擴充的,但是不可修改的。

什麼是模式?

模式,即pattern。其實就是解決某一類問題的方法論。你把解決某類問題的方法總結歸納到理論高度,那就是模式。      Alexander給出的經典定義是:每個模式都描述了一個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重複相同的工作。模式有不同的領域,建築領域有建築模式,軟體設計領域也有設計模式。當一個領域逐漸成熟的時候,自然會出現很多模式。為什麼要用模式?     

Microsoft to support ODF, PDF in Office next year

Support for ODF and PDF will be included through Microsoft Office Service Pack 2, expected to be out in the first half of 2009By Elizabeth Montalbano, IDG News Service May 21, 2008 Microsoft is finally adding support for ODF (OpenDocument Format

Pidgin 2.0.2已經發布,QQ登入問題解決

Pidgin 已經放出 2.0.2 版本,目前官網已經更新,SourceForge 上也能下載到這個版本。據說對一些表徵圖進行了調整,QQ 登入問題也得到瞭解決,解決了Pidgin 登入 QQ 提示密碼錯誤問題。這個版本主要是Bug修正,在官方的Roadmap上,下一個版本將是2.1.0,重點在功能的擴充源碼下載到Pidgin 。編譯安裝方法:sudo apt-get install libglib2.0-dev libgtk2.0-dev libxml2-dev libnss3-dev

使用NetBeans6開發OSGi應用(3)——整合Knopflerfish![88250原創]

轉載請保留作者資訊:作者:88250Blog:http:/blog.csdn.net/DL88250MSN & Gmail & QQ:DL88250@gmail.com摘要上一次,我們編寫了兩個Bundles,一個是服務提供者,一個是使用服務的客戶 ,運行得還不錯

WEB互動的革命 – JSF架構中使用的設計模式介紹

設計模式可以協助使用者在更高層次上抽象細節,更好地理解體繫結構。如果比較熟悉 GoF 設計模式和 JavaServer Faces (JSF) 架構,本文可以協助您洞察 JSF 架構中使用的設計模式,深入理解其工作原理。   本文探討了 JSF 架構中使用的設計模式。詳細討論的設計模式包括 Singleton、Model-View-Controller、Factory Method、State、Composite、Decorator、Strategy、Template Method 和

OSGi Bundle的構建策略及實踐

軟體編程發展到今天可以看作是一個量變引發質變的過程。最初,程式開發面向過程,開發人員需要編寫大量的過程代碼,隨著過程代碼的不斷積累(量變產 生),從代碼維護和重用的角度,過程開發變得越來越不適應,質變產生,物件導向的開發逐漸被採用。由於物件導向的開發很好的封裝了過程,而且從物件導向的 角度可以很好的描述實際應用中的需求模型,因此物件導向的開發逐漸成為主流。同樣,隨著物件導向開發的不斷應用(量變產生),出現了大量的可複用的類及

破解QQ鍵盤保護的方法

調試環境:WinXP SP2 QQ2006 Beta2調試工具:OnlyDBG測試步驟:1.進入QQ目錄下,改名或者刪除npkcrypt.sys檔案。運行QQ,出現QQ鍵盤保護啟動失敗,先關了QQ。2.運行OnlyDBG,開啟LoginCtrl.dll。右鍵,然後尋找,然後點當前模組中的名稱(標籤)。3.找到npkcntc.#1匯入函數,只要選擇第一個就行了。然後按斷行符號鍵,點快顯視窗裡的,再斷行符號。代碼如下:CODE:[Copy to clipboard]60A3F9A8 

QQ木馬的簡單實現,QQ盜號核心編程。。。。

宿舍是搬完了,不能上網,這個事情是相當呢鬱悶了。。。。哎。。。。現在在機房,寫貼子:A sample source code about how to program QQ Trojan呵呵,假期在家裡。看看資料結構,看看C++。。。。無聊的時候想起了以前關於QQ的種種東西來^_^!還記得以前寫過些關於初級QQ盜號程式的文章(自己也只有這個水平- -#),這個假期稱著有時間,整理了一下。好了,廢話不多說,下面介紹一下這個程式的4個大的部分:1.Search QQ 

hibernate 一對一實踐 – -

Content.hbm.xml<hibernate-mapping>    <class name="org.hibernate.Content" table="content" catalog="exam">        <id name="id" type="java.lang.Integer">            <column name="id" />            <generator class="foreign"&

使用 JSF 架構進行設計

使用 JSF 架構進行設計探索 JavaServer Faces 架構中使用的設計模式 檔案選項<tr valign="top"><td width="8"><img alt="" height="1" width="8" src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="16" height="16"

#pragma 指示符的用法

寫的比較好,所以轉過來。。。。以後忘記的話還可以複習一下,呵呵^_^!#pragma   指示符                 嗯,今天說點什麼呢?昨天的話題中說到了使用“#pragma”指示符設定連接器參數來匯出函數,其實“#pragma”的功能遠遠不止於此,大部分我都沒用過,今天就隨便說說的“#pragma”指示符中我所使用過一些東東吧。                 1.指示檔案只包含一次             在標頭檔中,一般在整個工程中我們只要包含一次就夠了,但是如果我在多個  

企業中的 OSGi

企業中的OSGi時間:2009-03-25 07:05:11  來源:infoQ  作者:Alex Blewitt譯者 崔康 隨著最近GlassFish 3.0版“Prelude”,即Sun公司基於OSGi的Java EE 6伺服器的發布,OSGi在企業中的應用已經覆蓋了幾乎所有後端伺服器。最近,OSGi同盟一份新聞稿列舉了使用OSGi的廠商和技術:IBM的WebSphereOracle的WeblogicParamus的Infiniflow Service

amule與firefox關聯

 amule是linux下面的P2P軟體,跟win系統的電驢是一樣的工具由於firefox不會自動關聯amule,在安裝amule之後必須自己手動關聯,否則在網頁中看到ed2k連結的時候,卻沒有辦法點擊下載首先是安裝,平常常用的 sudo apt-get install amule 現在需要做一下調整了,因為這樣安裝在/usr/bin 目錄下沒有amule,調整為sudo apt-get install amule*(根據狸貓兄的指正,安裝amule*有點多餘,只需要安裝amule和amule-

枚舉USB裝置

下面是代碼。。。。// DeviceManager.cpp : 定義控制台應用程式的進入點。#include <stdio.h>#include <stdlib.h>#include <windows.h>#include <setupapi.h>#define DIRECTINPUT_VERSION 0x0800#include <Dinput.h>extern "C"{        #include

代碼風格總結

寫了一年多的代碼,深刻體會到了代碼風格的重要性。這是僅對大括弧的縮排風格進行總結:以下的代碼在可讀性方面不存在任何區別:void using_k_and_r_style(){       // ….} void putting_each_brace_on_its_own_line(){       // ….} void or_putting_each_brace_on_its_own_line_indented(){       //

do{}while(FALSE)知多少

昨天晚上看微軟的一個程式碼時候發現很多地方用了do {...} while (FALSE)咋一看,跟順序執行沒什麼區別啊。而且跟幾位同學討論了也還是百思不得其解。今天在網上一搜,才找到答案。原來是有原因的,而且這個用法跟順序執行有著本質區別。主要歸納為下面兩種:1. 結合了break的一種進階用法。2. 在宏定義的時候為了保持語句的完整性也會用到do {}while(FALSE)下面是我找到的兩篇篇相關文章,第一篇描述的就是上面的第一種情況,第二篇描述的是上面的第二種情況。有興趣的同學可以看下:

假期要做的事

先記下來,老不然老忘記。。。。Blog:1. 貼出Java大作業——ATM的報告文檔,並依次貼出原始碼 ^                               2. 貼出Liva的文檔,並依次貼出原始碼。在Google code上掛上項目,開源 ^Work:3. 看編譯原理,參考一些代碼設計一個類C,或者C的編譯器 |4. 實現音頻ID技術,並初步在本地測試,為Liva提供歌詞檢索服務 *                      5.

GZIP Http Servlet Response

好久沒貼過代碼了,心血來潮。/* * Copyright (c) 2009, 2010, B3log Team * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *

OSGi 4.2 規範發布了

 OSGi 4.2 規範發布了原文:OSGi 4.2 released,Infoq作者:Alex Blewitt 於 2009 年 9 月 16 日譯者:88250 於 2009 年 9 月 17 日   OSGi 聯盟前天發布了 OSGi 4.2 規範。雖然早期草稿已經早己可用,但這是最終規範發布版本。一些 OSGi 實現,例如 Equinox 3.5 與 Felix2.0 早已針對 OSGi 4.2 規範做了一些相容實現,但當時 OSGi 4.2 還沒有發布,當然也不能說其實現了 OSGi

總頁數: 61357 1 .... 19939 19940 19941 19942 19943 .... 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.