小菜鳥一步步打造圖書館外掛之二:系統架構和類庫的設計(一)

該系統的功能活動對網路連接狀態的依賴很大,而且從不同入口啟動程式做的工作也不一樣,可以讓3、4、11、13步去實現一個DoWork的介面,再根據不同入口啟動程式時傳入的參數和網路連接狀況用一個簡單工廠來產生一個工作的對象,再看第3步和第11步,它們都有一個共同的工作就是儲存資料到本地檔案,而不同的是3有第5步要把提取出來的資料發到提示框,而11的第12步是把資料去更新使用者編輯介面,我們設計一個抽象類別去實現它們的共同功能,再提供一個虛方法去讓它們的子類去實現各自的不同功能,這樣,系統的基本架構

十二:checked和unchecked

     簡單來說checked和unchecked操作符用於整型算術運算時控制當前環境中的溢出檢查。看以下代碼:(註:Byte為無符號8位值,0到255)(1)Byte b = 400;b = (Byte)(b + 400);(2)Byte b = 200;b = (Byte)(b + 200);(3)Byte b = 200;b = checked((Byte)(b + 200));(4)Byte b = 200;b = (Byte)checked(b + 200);說明:(1)編譯第一行就

八:強制類型轉換

CLR允許將一個對象強制轉換成它原來的類型或者它和任何基底類型。C#要求將一個對象顯式的轉換成它的任何衍生類別型,因為這樣的轉型可能在運行時失敗。以下代碼示範了如何轉換成基底類型和衍生類別型:using System;internal class Employee{     //...}public sealed class Program{    public static void Main()    {        //不需要轉型,因為new返回一個Employee對象,而object是

三:初識程式集(assembly)

     前面已明白了什麼是託管模組,但在DotNet平台中,CLR不是和模組一起工作的,它操作的是程式集。程式集是一個或多個類型定義檔案及資源檔的集合。  如,編譯器把多個託管模組和源檔案編譯成一個程式集,程式集有如下幾點作用:     (1)程式集定義了可重用類型     (2)程式集標記了一個版本號碼     (3)程式集可以有關聯的安全資訊     (4)與反射Reflection結合起來用,動態建立你所需要的類                                      

@@IDENTITY–插入記錄返回主鍵

     在沒有使用ORM架構的情況下,添加一條新記錄想返回主鍵就得認識一個這個東西@@IDENTITY的用法了(Nhibernate有添加就自己返回主鍵的方法).     @@IDENTITY是MSSqlServer返回插入最後一條記錄的一個標識值,只有主索引值類型為IDENTITY的才有傳回值,否則為NULL.     如下指令碼,建立三個表,一個是主表TestIdent,有一個自增主鍵,兩個是子表TestChild1和TestChild2,以TestIdent表的主鍵來當外鍵.     C

四:認識不安全的程式碼

  不安全的程式碼就是要寫在unsafe命名空間下,對記憶體位址直接操作的代碼。在預設情況下C#編譯器產生的是安全的程式碼,在編譯不安全的程式碼時,C#編譯器要求我們使用/unsafe編譯器開關來編譯原始碼,在IDE中,選中“項目屬性->產生”裡的“允許不安全的程式碼”,編譯時間就會自動加上/unsafe選項。  以下代碼為來自山水林木子的文章http://www.cnblogs.com/hananbaum/archive/2008/10/30/1323364.html  CodeCode

Django原始碼閱讀分析-1:命令列選項

        聲明:本文為轉載        使用Django開始一個項目,用得最多的大概應該是django-admin.py命令了。使用它可以建立一個項目、清理項目、進入互動環境等等。想瞭解一個Django,以及如何用Python做一個優秀的項目和架構,我也打算從這裡開始。由於我在項目中使用的是Django1.1.1,我就以這個版本作為藍本。到現在為止,Django已經升級為1.2.1版了。       

九:類型、對象、線程堆棧、託管堆棧之間運行時的相互關係(一)

     首先來看一些基礎知道再看看CLR是怎麼工作的,看: 當CLR開始載入一個Microsoft Windows進程,在這個進程中可能存在多個線程,當一個線程建立時,它會分配到一個1M大小的堆棧,這個堆棧空間用於向方法傳遞實參,並用於儲存方法內部定義的局部變數,展示了一個線程的堆棧記憶體(右側)。堆棧是從高位記憶體位址向低位記憶體位址構建的,在圖中,該純種執行了一 些代碼,它的堆棧上已經有一些資料(顯示成堆棧頂部的陰影地區),現在假定線程執行的代碼要調用M1方法。在一個最基本的方法中,應該包

屬性與索引之間的比較

來自MSDN的 屬性與索引器之間的比較索引器與屬性類似。除下表中顯示的差別外,為屬性訪問器定義的所有規則同樣適用於索引器訪問器。屬性 索引器 允許調用方法,如同它們是公用資料成員。允許調用對象上的方法,如同對象是一個數組。可通過簡單的名稱進行訪問。可通過索引器進行訪問。可以為靜態成員或執行個體成員。必須為執行個體成員。屬性的 get 訪問器沒有參數。索引器的 get 訪問器具有與索引器相同的形參表。屬性的 set 訪問器包含隱式 value 參數。除了 value 參數外,索引器的 set

Django源碼分析–引導

聲明:本文為轉載 django有兩種運行方式1,通過python manage.py runserver運行內建的web server2,通過mod_python兩種方式但最後的request產生方法都是繼承自django.http.HttpReques第一種方式, runserver參數最後實際執行的是django.core.management.commands.runserver模組runserver.py中關鍵代碼為run(addr, int(port),

看看老外的這些小技倆騙術

  前幾天接到一封這樣的郵件,說是在園子裡面看到我的,想和我交個朋友,我還以為是要和我交流技術的呢,就很是誠懇的回了一個,之後又收到一封,再上Google搜一下,他那小技倆就被我看出來了,想在園子裡面發一下是因為他說在園子裡面看到我的資訊的,而且這個傢伙看起來不一定是老外呢,希望大家以後看到這樣的郵件不要再浪費時間我是這麼回的:  之後它又來了一封:  這時候我已經知道是騙術了,就回了個亂搞它的,也不知道它是否能看懂中文:  它又給我回了一封:我又給它亂搞的回了一封: 呵呵,偉大領袖毛主席教導我

Django原始碼閱讀分析-2:持久層結構分析

      聲明:本文為轉載      Django對持久層的封裝得很好,很好地支援Mysql、PostgreSQL、Oracle、SQLite3等流行的關係型資料庫。頂層提供統一的模型封裝,使用者基本無須關心真實資料庫底層的細節,甚至對DBMS本身知之甚少也沒關係。      

十:類型、對象、線程堆棧、託管堆棧之間運行時的相互關係(二)

     現在看看CLR是怎麼工作的,假定有以下兩個類定義如下:    internal class Employee    {        public Int32 GetYearsEmployed()         {             //...        }        public virtual String GenProgressReport()        {             //...        }        public static Emp

Tomcat 設定檔瀏覽顯示

      Tomcat 5.0時,配置虛擬目錄test,當訪問該虛擬目錄test時,它會把test目錄下的所有檔案列出來,但是在tomcat 5.5後就報404錯誤,提示沒有找到檔案!要把全名輸入了才行,如http://localhost:8080/test/hello.jsp才正常顯示, 但是存在index.jsp檔案時,輸入http://localhost:8080/test/就會顯示index.jsp中的內容,而不是提示沒有找到檔案。     

一:學習之前要知道的一些概念

     個人覺得學CLR之前必須先學會一門在CLR上啟動並執行語言,要達到很熟悉的程度。只有在頂端表層上飄飄呼呼了一陣子,覺得腳跟輕浮了才有耐心去學基礎,要麼大多數人在沒有上手之前學基礎學理論是很枯燥乏味的,很多人都不會堅持得了。現在要跟著Jeffrey Richter的《架構設計(第二版)CLR Via C#》一本來學習CLR,該書C#語言來描述,所以有掌握了C#的基礎上閱讀很方便理解。     Managed

MySQLdb安裝的錯誤說明

1、從http://www.codegood.com/上下載到國外有人編譯好的,自己就免去這一環節2、import MySQLdb時出現如下錯誤:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Warning (from warnings module):  File "C:\Python26\lib\site-packages\MySQLdb\__

sphinx系列之中文分詞LibMMSeg安裝(三)

        sphinx不支援中文分詞,國內也有人寫了好多個分片語件,本文就講安裝LibMMSeg,它是Coreseek.com為 Sphinx 全文檢索搜尋引擎設計的中文分詞軟體包,其在GPL協議下發行的中文分詞法,採用Chih-Hao Tsai的MMSEG演算法。        先從http://www.coreseek.cn/news/7/99/    上下載到LibMMSeg的安裝包,如下:Code highlighting produced by Actipro

LoadRunner函數學習–lr_convert_string_encoding

lr_convert_string_encoding: 對中文進行UTF-8轉碼int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char

二:認識Managed 程式碼

     前面已經學過了Managed 程式碼的概念,現在要學的是Managed 程式碼的組成。在DonNet平台下,不管用何種程式設計語言,只要編譯器面向CLR就可以工作。但不同語言有不同的優勢,所以應該選最能表達自己意圖的語言。  如,無論使用哪一種語言和編譯器,結果都是產生一個託管模組,託管模組是一個標準的32位Microsoft Windows可移植執行體(PE32)檔案,或者是一個標準的64位Microsoft Windows可移植執行體(PE32+)檔案,它主要由PE32或PE32+

sphinx系列之Coreseek安裝寫運行測試(四)

        Sphinx是一個在GPLv2下分發的全文檢索索引引擎;Coreseek 是一個可供企業使用的、基於Sphinx(可獨立於Sphinx原始版本運行)的中文全文檢索索引引擎,按照GPLv2協議發行,商業使用(例如, 嵌入到其他程式中)需要聯絡我們以獲得商業授權。       

總頁數: 61357 1 .... 8662 8663 8664 8665 8666 .... 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.