.NET軟件架構(gòu)之美

出版時間:2009年9  出版社:人民郵電出版社  作者:Dino Esposito,Andrea Saltarello  頁數(shù):432  字?jǐn)?shù):547000  
Tag標(biāo)簽:無  

內(nèi)容概要

  本書出自兩位具有多年軟件開發(fā)經(jīng)驗的 ASP .NET專家、作者和培訓(xùn)師之手,內(nèi)容涉及多層架構(gòu)、設(shè)計模式以及設(shè)計原則。第一部分簡要介紹 UML、設(shè)計原則及模式;第二部分從技術(shù)架構(gòu)角度討論分層設(shè)計。本書行文流暢,語言通俗易懂,闡述了各種架構(gòu)設(shè)計技術(shù)方案的優(yōu)與劣,并講述了如何在優(yōu)與劣中做出權(quán)衡。中設(shè)計了真實的場景,展示了如何將這些設(shè)計原則更加具體地應(yīng)用到 .NET應(yīng)用程序中?! ”緯m合各層次 .NET開發(fā)人員閱讀。

作者簡介

作者:(意大利)埃斯波西托(Dino Esposito) (意大利)索爾塔雷羅(Andrea Saltarello)DinoEsposito,.NET和軟件架構(gòu)技術(shù)方面的世界級權(quán)威,微軟ASP.NETMVP。目前就職于著名的.NET技術(shù)咨詢公司IDesign。他是廣受歡迎的技術(shù)作家。擔(dān)任MSDNMagazine特邀專欄作家多年。并撰有ProgrammingASP.NET-3.5CoreReferences等名著。AndreaSaItareIIo,微軟ASP.NETMVP。意大利.NET用戶組負(fù)責(zé)人。現(xiàn)任ManagedDesigns公司首席軟件架構(gòu)師。

書籍目錄

Part I Principles 1 Architects and Architecture Today    What's a Software Architecture, Anyway?    Applying Architectural Principles to Software    What's Architecture and What's Not    Architecture Is About Decisions    Requirements and Quality of Software    Who's the Architect, Anyway?    An Architect's Responsibilities    How Many Types of Architects Do You Know?    Common Misconceptions About Architects    Overview of the Software Development Process    The Software Life Cycle    Models for Software Development    Summary    Murphy's Laws of the Chapter  2 UML Essentials    UML at a Glance    Motivation for and History of Modeling Languages    UML Modes and Usage    UML Diagrams    Use-Case Diagrams    Class Diagrams    Sequence Diagrams    Summary    Murphy's Laws of the Chapter  3 Design Principles and Patterns    Basic Design Principles    For What the Alarm Bell Should Ring    Structured Design    Separation of Concerns    Object-Oriented Design    Basic OOD Principles    Advanced Principles    From Principles to Patterns    What's a Pattern, Anyway?    Patterns vs. Idioms    Dependency Injection    Applying Requirements by Design    Testability    Security    From Objects to Aspects    Aspect-Oriented Programming    AOP in Action    Summary    Murphy's Laws of the Chapter Part II Design of the System 4 The Business Layer    What's the Business Logic Layer, Anyway?    Dissecting the Business Layer    Where Would You Fit the BLL?    Business and Other Layers    Patterns for Creating the Business Layer    The Transaction Script Pattern    Generalities of the TS Pattern    The Pattern in Action    The Table Module Pattern    Generalities of the TM Pattern    The TM Pattern in Action    The Active Record Pattern    Generalities of the AR Pattern    The AR Pattern in Action    The Domain Model Pattern    Generalities of the DM Pattern    The DM Pattern in Action    Summary    Murphy's Laws of the Chapter  5 The Service Layer    What's the Service Layer, Anyway?    Responsibilities of the Service Layer    What's a Service, Anyway?    Services in the Service Layer    The Service Layer Pattern in Action    Generalities of the Service Layer Pattern    The Service Layer Pattern in Action    Related Patterns    The Remote Fa?ade Pattern    The Data Transfer Object Pattern    The Adapter Pattern    DTO vs. Assembly    Service-Oriented Architecture    Tenets of SOA    What SOA Is Not    SOA and the Service Layer    The Very Special Case of Rich Web Front Ends    Refactoring the Service Layer    Designing an AJAX Service Layer    Securing the AJAX Service Layer    Summary    Murphy's Laws of the Chapter  6 The Data Access Layer    What's the Data Access Layer, Anyway?    Functional Requirements of the Data Access Layer    Responsibilities of the Data Access Layer    The Data Access Layer and Other Layers    Designing Your Own Data Access Layer    The Contract of the DAL    The Plugin Pattern    The Inversion of Control Pattern    Laying the Groundwork for a Data Context    Crafting Your Own Data Access Layer    Implementing the Persistence Layer    Implementing Query Services    Implementing Transactional Semantics    Implementing Uniquing and Identity Maps    Implementing Concurrency    Implementing Lazy Loading    Power to the DAL with an O/RM Tool    Object/Relational Mappers    Using an O/RM Tool to Build a DAL    To SP or Not to SP    About Myths and Stored Procedures    What About Dynamic SQL?    Summary    Murphy's Laws of the Chapter  7 The Presentation Layer    User Interface and Presentation Logic    Responsibilities of the Presentation Layer    Responsibilities of the User Interface    Common Pitfalls of a Presentation Layer    Evolution of the Presentation Patterns    The Model-View-Controller Pattern    The Model-View-Presenter Pattern    The Presentation Model Pattern    Choosing a Pattern for the User Interface    Design of the Presentation    What Data Is Displayed in the View?    Processing User Actions    Idiomatic Presentation Design    MVP in Web Presentations    MVP in Windows Presentations    Summary    Murphy's Laws of the Chapter  Final Thoughts  Appendix: The Northwind Starter Kit Index 

章節(jié)摘錄

插圖:To design a system——any system in any scientific field——you first need to create an abstractionof it. An abstraction is essentially a model that provides a conceptual representation of thesystem in terms of views, structure, behavior, participating entities, and processes.A model exists to be shared among the stakeholders of the system, including developers,architects, owners, and customers. Stakeholders should be able to understand the model inorder to provide feedback, spot wrong assumptions, and suggest improvements. To share amodel, though, you need to express it in a formal way using a common, and possibly broadlyaccepted, notation. For this, you need a modeling language.Typically, a modeling language is a graphical or textual language based on a set of rules,symbols, diagrams, and keywords. All together, the language elements are used to expressthe structure and behavior of the model in a way that transmits clear knowledge andinformation to anybody familiar with the language.There are several well-known examples of modeling languages——for exampe the IntegratedDEFinition (IDEF) family of modeling languages used for functional modeling, informationmodeling, simulation, and more. There's also the VirtuaIReality Modeling Language (VRML),which is used to represent 3D graphics, and EXPRESS (textual) and EXPRESS-G (graphical) fordata modeling.However, when it comes to modeling languages, the most popular one is Unified ModelingLanguage (UML). UML is a general-purpose graphical modeling language that, over theyears, has become the industry standard for modeling software systems. Based on a family ofgraphical notations, UML is particularly suited to creating models in obJect-oriented scenarios.It might not be as effective when another paradigm is used, such as a functional or perhapsa relational paradigm, but it's a good fit for object-oriented systems.

媒體關(guān)注與評論

“所有架構(gòu)師的必讀之作……無可替代?!薄  甆ET Developer's Journal“還等什么?如果你有機(jī)會看到本書,請盡快把它‘消滅’。就像我在地鐵上如饑似渴地暢讀一樣……”  ——王濤(AnyTao)。微軟MVP“本書酣暢淋漓地闡發(fā)了.NET平臺下企業(yè)軟件架構(gòu)的精髓。為開發(fā)人員獻(xiàn)上了不可多得的饕餮大餐?!薄  惱璺颍―flying),微軟MVP

編輯推薦

《.NET軟件架構(gòu)之美(英文版)》填補(bǔ)了這一缺憾。兩位作者人選可謂眾望所歸,他們將GoF設(shè)計模式、MartinFowler企業(yè)架構(gòu)模式、EricEvans領(lǐng)域驅(qū)動設(shè)計等業(yè)界精華與自己多年軟件開發(fā)實戰(zhàn)經(jīng)驗結(jié)合起來,深刻闡述了軟件架構(gòu)設(shè)計思想精髓。作者還從技術(shù)架構(gòu)角度逐章講述了業(yè)務(wù)層、服務(wù)層、數(shù)據(jù)訪問層和表現(xiàn)層的分層設(shè)計,同時介紹了各種軟件架構(gòu)設(shè)計方案的優(yōu)劣,如何在各種方案中做出抉擇,以及如何將這些設(shè)計原則更具體地用到應(yīng)用程序中。軟件架構(gòu)設(shè)計是現(xiàn)代軟件開發(fā)的核心,它不僅是一門技術(shù),更是一門藝術(shù)。然而,長期以來,還沒有一本專門講述.NET架構(gòu)設(shè)計的書。Amazon全五星圖書,緊貼實戰(zhàn),透過實例探討架構(gòu)設(shè)計最佳實踐,深刻闡述軟件開發(fā)思想。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    .NET軟件架構(gòu)之美 PDF格式下載


用戶評論 (總計20條)

 
 

  •   ****軟件架構(gòu)之美,好書。
  •   非常經(jīng)典的一本設(shè)計書籍,但是不適合初學(xué)者。
    而且在工作中也可以用到,非常好。
  •   其實今年讀了許多好書,不過有不少都是以前看過的,唯有這本,花了我很多時間去研究(本人英語雖不算差,但是閱讀速度肯定低于中文)。除了工作和睡覺,一有機(jī)會就翻看。其他的等看完后繼續(xù)補(bǔ)充。
  •   蠻好,感覺不錯
  •   結(jié)合作者自己的理解,對對前人知識的總結(jié),主要著眼于設(shè)計模式
  •   出自大師之筆,自然還不錯,所以好的方面就不在多說。
    但是書的質(zhì)量太差,整本書很輕,還有難聞的味道。非常懷疑不是正版的。
    內(nèi)容方法講的也不是很詳細(xì)
  •   寫的很簡練,值得一讀!
  •   對于不是很了解企業(yè)應(yīng)用設(shè)計模式與架構(gòu)思想,可以通過本書了解一些基本的概念、理論和最佳實踐,不過你是一個資深的架構(gòu)師,相信對于里面覺得部分內(nèi)容你都不會感到模式。所以,這是一本講我們熟知的設(shè)計模式和架構(gòu)思想進(jìn)行匯總的書,如果你想深入理解其精髓,我覺得最好還是看看MartinFowler的《PatternsofEnterpriseApplicationArchitec***e》,J.DMeier的《patterns&practicesApplicationArchitec***eBook》也值得一薦!
  •   英語不過關(guān)的,別買;不是做****的也別買!
  •   這本書我基本上看完了,印刷質(zhì)量還不錯。書寫得也很好。最好是有一定的.net相關(guān)經(jīng)驗的人來看。另外,書中非常多的地方引用到了《企業(yè)應(yīng)用架構(gòu)模式》(Martin Fowler)??梢韵瓤聪逻@本,當(dāng)然,就算沒看這本書也基本不妨礙閱讀。
  •   有參考價值,能解答很多疑惑
  •   書頁質(zhì)量還不錯,內(nèi)容還沒看
  •   很值得花時間反復(fù)讀的書,建議所有想完善架構(gòu)方面知識的人都讀讀。你會在理論和實踐中都有提高,并且此書的英文用比較平實的語句,也相對好理解。
  •   還不錯 正在研讀中
  •   終于還是在上周把這本書啃完了,差不多兩個月的時間。絕對是本好書,它讓你從一個更高的視覺去審視和構(gòu)建企業(yè)類軟件。還是再看一遍。。。。
  •   內(nèi)容不錯,看的速度比較慢,三天了才看完第一章.
  •   清晰,實用,全面
  •   還沒看完,感覺還沒到那個高度,等過段時間再回去看。
  •   深入剖析,不僅僅是介紹How,更多的是解釋W(xué)hy!
  •   效率真高,這么快就有影印版了,等得就是這本!經(jīng)典,估計很快就要被搶空了。。。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7