好的程序員做不出好的軟件設計
本文是從 Good Programmers Make Bad Designers 這篇文章翻譯而來?! ∧悴荒芸吹揭粋€程序員還不錯,就把他推到系統分析師、軟件設計師或軟件架構師的位置上?! ∪绻阍趫F隊或公司里尋找一個能勝任軟件架...
|
本文是從 Good Programmers Make Bad Designers 這篇文章翻譯而來?! ∧悴荒芸吹揭粋€程序員還不錯,就把他推到系統分析師、軟件設計師或軟件架構師的位置上?! ∪绻阍趫F隊或公司里尋找一個能勝任軟件架...
在上一篇文章《.NET應用框架架構設計實踐 - 概述》的評論部分,有網友提出了一個在面向領域驅動架構的實踐中比較常見的問題:“DDD使用聚合根訪問,那例如那些通用查詢如何實現?難道都要經過聚合根多步得到么...
我研究領域驅動設計已經近4年時間了,在這4年里,我從了解領域驅動設計的基本思想開始,系統地學習了與領域驅動設計相關的概念、開發模式以及應用系統架構風格,并將其運用在了實際的項目架構與開發中。在此之前,我...
好久沒有寫文章了,最近比較忙,另一方面也是感覺自己在這方面沒什么實質性的突破。但是今天終于感覺自己小有所成,有些可以值得和大家分享的東西,并且完成了兩個可以表達自己想法的Demo。因此,趁現在有點時間,是寫...
英文原文:Google engineer: What I learned in the war Dan Cross,34歲,是Google退伍軍人網絡(VetNet,Google Veterans Network)的一名活躍分子。VetNet社區有將近400名退伍軍人以及其他Google員工參與。以下是...
Bob大叔和Simon Brown關于描述系統架構時基礎架構(infrastructure)所起的作用展開了討論。 在之前標題為 《尖叫的架構(Screaming Architecture)》的文章中,Robert Martin(也就是Bob大叔)闡述了這樣的觀點:軟件產...
英文原文:If Software Is Eating The World, Why Don't Coders Get Any Respect? 正如網景公司創始人馬克·安德森最近在他的著名言論中所說,軟件在我們日常生活中占據了越來越大的部分,明白了軟件有...
Thoughtworks 的 Sam Newman 在 Mythoughtworks 的 Software Development 小組中給出了 Evolutionary Architecture 的一些資源。其中一個是 Martin Fowler 與 Rebecca Parsons 在 QCon SF 2009 的一次演講,...
用戶活躍度是檢驗產品成功與否的重要指標之一,傳統行業的商家極為重視門面的裝潢,因為一個好的門面可以聚集人氣,招攬更多的顧客。古時候的大戶人家院子門口的石獅子或其他的擺件的擺放極為講究,有一定的風水學...
這個圖來自于《JavaScript語言精髓與編程實踐》第三章P184頁。最近在改第二版,這張圖重做了,需要的可以對照著看?! 〈送?,補充一下圖中用到的概念: 1、內置(Build-in)對象與原生(Naitve)對象的區別在于:前者總是...
這個圖來自于《JavaScript語言精髓與編程實踐》第三章P184頁。最近在改第二版,這張圖重做了,需要的可以對照著看?! 〈送?,補充一下圖中用到的概念: 1、內置(Build-in)對象與原生(Naitve)對象的區別在于:前者總是...
Javascript是一個類C的語言,他的面向對象的東西相對于C++/Java比較奇怪,但是其的確相當的強大,在 Todd 同學的“對象的消息模型”一文中我們已經可以看到一些端倪了。這兩天有個前同事總在問我Javasc...
Javascript是一個類C的語言,他的面向對象的東西相對于C++/Java比較奇怪,但是其的確相當的強大,在 Todd 同學的“對象的消息模型”一文中我們已經可以看到一些端倪了。這兩天有個前同事總在問我Javasc...
在前文《軟件自我識別》中,我們討論了如果使軟件做到自我識別,以促進自動化部署和版本檢測等工作。 隨著互聯網的飛速發展,以及基礎設施的改進,越來越多的業務被放在了“云”端。管理數千臺服務器和各...
在前文《自動化部署》中,我們討論了自動化部署。通過對部署操作腳本化、部署驗證自動化、部署環境版本控制、生產部署全自動化等諸多實踐,可以讓部署完全處于受控狀態。然而,作為運維人員,是否曾經有人走過來問...
盡管Thoughtworks的首席科學家Martion folwer 為“持續集成 ”下了定義,但由于自身背景與經歷的不同,每個人對其都有不同的理解。從狹義上講,持續集成可以認為是一種基于某種或者某些變化對軟件系統...
為什么要談品牌?這是源于一件讓我印象非常深刻的事情:有一個大公司的設計師,在公司官方博客上發表了一篇有關 iPhone 的文章,由于他在文章中把“iPhone”拼成了“iphone”,遭到了一個讀者憤怒的...
Brad Feld 的一篇文章 The Rise of Developeronomics 中提到了“10倍效率的開發者(10x developer)”的概念(偉大的開發者的效率往往比一般的開發者高很多,而不只是一點點),Adam Loving 在讀了之后受到啟...
在Brooks的最新力作《設計原本(The Design of Design)》一書中,提及“一致性”對軟件的重要性。他認為:“一致性應該是所有質量原則的根基。好的架構應該是直接的,人們掌握了部分系統后就可以推...
很多團隊都有這個問題,一個項目的代碼本來開始設計得好好的,一段時間以后,代碼就會變得難以理解,難以維護,難以修改。為什么?我一直在思考這個問題?! ∽屛覀兿瓤匆粋€人的情況?! ?. 程序員的成長 新手的代...
HTTP Caching 用好了,可以極大的減小服務器負載和減少網絡帶寬。十分有必要深入了解下 http 的 caching 協議?! ∠葋砜聪抡埱?響應過程:http 請求/響應 1、用 Last-Modified 頭 在第一次請求的響應頭...
HTTP Caching 用好了,可以極大的減小服務器負載和減少網絡帶寬。十分有必要深入了解下 http 的 caching 協議?! ∠葋砜聪抡埱?響應過程:http 請求/響應 1、用 Last-Modified 頭 在第一次請求的響應頭...
最近公司來一個非?;⒌腄BA,10幾年的經驗,這里就稱之為蔡老師吧,在征得我們蔡老同意的前提下 ,我們來分享一下蔡老給我們帶來的寶貴財富,歡迎其他的DBA來拍磚。 目錄1、什么是執行計劃?執行計劃是依賴于什么信息
2、...
英文原文:How to beat the CAP theorem CAP 定理是數據系統設計的基本理論,目前幾乎所有的數據系統的設計都遵循了這個定理。但 CAP 定理給目前的數據系統帶來了許多復雜的、不可控的問題,使得數據系統的設...
最近組內進行HTML5標簽的學習,方法呢就是大家每人挑選幾個標簽,自己先去學習,然后給大家作講解。這個過程大家還是挺有收獲的。但是現在HTML5還處在草案階段,有些新的標簽元素的解釋也是經常有變化,甚至標簽加入/...