表示-抽象-控制——系統結構模式學習筆記

表示-抽象-控制(PAC)體繫結構模式以合作agent的層次形式定義了互動式軟體系統的一種結構。每個agent負責應用程式功能的某一特定方面,並且有表示,抽象,控制三個組件構成。這種細分將agent的人機互動部分和與其功能核心和它與其他agent的通訊分割開來。1. 例子一個簡單的有比例表示的政治選舉系統。2. 語境在agent的協助下開發一個互動式應用程式。3. 問題在這種寫作的agent體繫結構中,為某一特定任務指定一個agent,所有的agent提供所有系統的功能。1)

微核心流程引擎(IVR導航)的設計與實現(二)——功能描述

上一篇介紹了微核心流程引擎開發背景,這篇介紹它的功能描述。準系統:1、能夠通過指令碼定義流程,更改流程。2、對軟交換系統應用伺服器的所有的介面都可以編輯。3、異常處理,實現補償機制。4、流程要支援:順序執行,分支處理,跳轉執行。5、指令碼中支援簡單的資料庫操作,比如:記錄查詢(根據查詢結果決定流程),欄位查詢,記錄增刪改。擴充功能:1、提供多種調用形式:1)動態連結程式庫直接調用;2)socket通訊調用;3)遠程調用;4)WSDL方式調用。2、實現一個流程引擎虛擬機器。專門處理流程。3、支援業

KLSudoku發布小記

本來自認為已經將KLSudoku的很多細節都考慮得比較詳細了,可是沒想到KLSudoku發布的頭一天就收到了幾個比較很影響使用體驗的問題反饋:1、安裝程式以Release版本發布的時候,居然沒有正確去除對Windows Installer 3.1和 .Net Framework 3.5的依賴,結果導致安裝的時候要求使用者下載.net

一個標準數獨遊戲的題目產生和解題的程式

讀書破萬卷,不如實際動手實踐一次。本著這樣的想法,我在學習C#的過程中,用C#實現了一個我平時喜歡玩的小遊戲——數獨遊戲KLSudoku項目託管在 Google Code : http://code.google.com/p/klsudoku/ 有興趣的同學可以去看看。全部源碼都可以下載。 實現了下面的這些功能: 隨機產生唯一解題目 候選數顯示輔助解題 實現以下邏輯解法 顯式唯一數法,隱式唯一數法 區塊排除法 顯示數對法,隱式數對法 顯式三數集,四數集法 隱式三數集,四數集法 X-Wing

《段子》 更新到v1.3 全新UI介面

更新到v1.3,全新UI介面  下載:【段子v1.3】-------------------------------------------------------------------------------------------------------學習android也有一段時間了,不過總覺得學得比較零碎,所以決定做個應用,把學到的知識做下整理。我給這個應用取名《段子》,其實就是使用httpclient從網路上下載一些比較經典的段子,然後放到本地的資料庫中,這是最主要的功能。當然也做了

重構——構築測試體系

文章目錄 1  構築測試體系 1  構築測試體系如果你想進行重構,首要前提就是要擁有一個可靠的測試環境。“編寫優良的測試程式,可以極大的提高我的編程速度,即使不進行重構也是如此。”1.1  自我測試代碼(Self-testing Code )的價值“Class 應該包含他們自己的測試代碼。”“每個Class 都有一個測試函數,並用它測試自己這個 Class

概念性模型——分析模式學習筆記

下面內容來自:《分析模式》。分析和設計存在很多的不同之處,設計的目的是為了更高實現一個技術方案,而分析的目的是為了理解問題的本質。這不僅僅是用用例列出需求清單那麼簡單的事情。假設我們想開發一個斯諾克撞球類比遊戲,擊打白球後,白球按照一定的軌跡運動,並且撞擊紅球。用例可以列出成千上萬,但是這不足以讓我們開發出一個更好的軟體——你必須瞭解運動背後蘊含的規律。這個問題不難解決,因為這些規律已經眾所周知。但是在很多的應用領域,相關的規律並不讓人易於理解。為此,我們建立了概念性模型——一種運行我們瞭解並簡

明智而審慎的使用private繼承

文章目錄 明智而審慎的使用private繼承(Use private inheritance judicious.) 明智而審慎的使用private繼承(Use private inheritance judicious.)private繼承的兩條規則: 1、 編譯器不會將一個derived class轉化為baseclass,但是卻可以顯示轉換。也就是,他們之間不是is-a的關係。 2、

JDK的動態代理機制

閱讀本文需要有反射基礎。 09/12/16 23:17 修正幾處bug,補充Proxy部分內容。jdk的動態代理是基於介面的,必須實現了某一個或多個任意介面才可以被代理,並且只有這些介面中的方法會被代理。看了一下jdk帶的動態代理api,發現沒有例子實在是很容易走彎路,所以這裡寫一個加法器的簡單樣本。// Adder.javapackage test;public interface Adder { int add(int a, int b);}//

缺陷驅動的流程最佳化和技術引進

軟體領域一個非常大的特點是流程和技術變化相當的快。作為一個軟體企業,面對日新月異的開發流程和開發技術,何時、如何選擇及引進新的流程和技術變得十分重要。這篇文章主要討論的是進行選擇和引進時的出發點,我稱之為“缺陷驅動”。什麼是缺陷驅動?這涉及到引進新技術的根本原因。其實很簡單,就是為瞭解決軟體開發過程中遇到的問題。但是實際操作時,面對外界的宣傳和影響,人們往往會偏離這個初衷——從追求問題的解決到追求技術的“先進與流行”。學習引進一種新的技術,新的開發方法和流程,根本的原因不是因為它有多新,有多少人

資料驅動編程之表驅動法

本文範例程式碼採用的是c語言。之前介紹過資料驅動編程《什麼是資料驅動編程》。裡面介紹了一個簡單的資料驅動手法。今天更進一步,介紹一個稍微複雜,更加實用的一點手法——表驅動法。關於表驅動法,在《unix編程藝術》中有提到,更詳細的描述可以看一下《代碼大全》,有一章專門進行描述(大概是第八章)。簡單的表驅動:《什麼是資料驅動編程》中有一個程式碼範例。它其實也可以看做是一種表驅動手法,只不過這個表相對比較簡單,它在收到訊息後,根據訊息類型確定使用調用什麼函數進行處理。複雜一點的表驅動:考慮一個訊息(事

管道和過濾器

現在的學習筆記要側重自己的理解。用自己的語言,經驗來闡釋它。讀一段後,寫下我的理解。管道和過濾器體繫結構模式為資料流的系統提供了一種結構。每個處理步驟封裝在一個過濾器組件中,過濾器組件間通過通道串連。重組管理器組件可以得到不同的系統族。這個和之前見過的一個語音流的處理結構非常相似。1. 例子這裡列舉了一個編譯器軟體。從代碼到可執行檔經過了很多步驟,每個步驟都抽象成一個過濾器組件。和處理資料流的例子很像。比如一個資料流,從接收到用擴音器播放,會經過很多的編解碼步驟。每個步驟其實也是過濾器。2.

簡單的搭建一個高並發低時延系統

首先聲明一點:這裡的“高並發”是相對的,相對於硬體而言,而不是絕對的高並發。後者需要分布式來實現,這裡不做討論。本文關注的是單機的高並發。最近在做一個語音通訊系統,要求線上使用者2W,並發1K路通話。硬體是兩台伺服器,酷睿多核,4G記憶體,千兆網卡(我用過的最好的硬體,負擔這些應該問題不大)。系統的另一個指標是呼叫時延和語音時延。這是這個系統的關鍵。最終我們的系統拿到使用者現場測試的時候,效果可能有點太好,對方測試不大相信。其實降低時延只要幾個地方把握好了,應該問題不大的。這裡總結一下。 1、 

如何學習一門新的語言

這兩天在看《編程人生》,這本書確實非常不錯。而且看得也特別的輕鬆。其中有幾個人都談到了如何學習新的語言,但是給我最深刻的是google的首席java架構師joshua

如何學習一門新的語言二——方法與步驟

之前發表過一篇文章,也是談如何學習一門新的語言《如何學習一門新的語言》,這篇文章主要的關注點是心態。今天這篇文章主要的關注點是具體的方法和步驟,是我學習C++和python的一些經驗,整理出來和大家一起討論。另外,我主要針對的已經掌握了一門程式設計語言,再學習一門新的語言的情況。先簡要介紹下我是如何學習c++的。出發點:工作兩到三年內,我的主要開發語言是c。後來由於工作的需要,要實現一個流程引擎(屬於預研項目)。在研究的過程中發現使用c語言處理這種邏輯比較複雜的程式有些力不從心,我想嘗試使用物件

rmmod: chdir(/lib/modules): No such file or directory 解決方案

     必須建立/lib/modules/2.6.30.4這樣一個空目錄,否則不能卸載ko模組.# rmmod nls_cp936rmmod: chdir(/lib/modules): No such file or directory但是這樣倒是可以卸載nls_cp936,不過會一直有這樣一個提示:rmmod: module 'nls_cp936' not found    初步發現,原來這是編譯kernel時使用make

用瀏覽器外掛程式ScribeFire發布blog測試

一直在找離線部落格發布工具,苦於在Linux下沒有好用的工具,最近發現了這款FireFox的外掛程式,於是剛才試發了篇,覺得很不錯。然後自己也測試了一下,發現有不沙直得去用的功能。以後如果用ScribFire寫部落格,那肯定能達到事半功倍的效果,也會讓我方便地多寫文章了。測試用ScribeFire發一篇文章成功後,覺得ScribeFire是個不錯的工具,所以現在來介紹一下這款不錯的離線部落格發布工具。

ArcIMS初級教程(1)

第一章

ArcIMS初級教程(3)

第三章  使用Author(第二部分)章節概述本章將講述在建立AXL檔案過程中其它的一些選項的用法。這些工具和功能的使用將會增加網站的美觀。 在本章中,將會學習如何使用顯示比例範圍,以解決顯示時要素間的衝突及提高網站的處理時間,同時還將學習如何設定地理編碼,如何使用複合專題圖。在練習時還將建立儲存查詢,以方便查詢特定資訊。 General 標籤標籤中可以設定活動圖表層的許多重要參數。首先,可以在General

資料連線之–Datalist 的使用(查看、編輯、刪除)

<一>  資料庫綁定:               con.Open();        SqlDataAdapter sda = new SqlDataAdapter();        sda.SelectCommand = new SqlCommand("select * from person", con);        DataSet ds = new DataSet();        sda.Fill(ds, "person");       

總頁數: 61357 1 .... 14460 14461 14462 14463 14464 .... 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.