企业应用架构模式

企业应用架构模式
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
2009-06
版次: 1
ISBN: 9787115204226
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 533页
字数: 667千字
正文语种: 英语
原版书名: Patterns of Enterprise Application Architecture
分类: 管理
  •   面向对象大师MartinFowler及其专家级合作者将40多种常用解决方案转化成模式,为我们提供了这本能够应用于任何一种企业应用平台的、关于解决方案的参考书。《企业应用架构模式(英文版)》叙述深入浅出,采用大量UML图进一步阐明有关概念。前面介绍企业应用的背景知识,如分层架构、Web表现、业务逻辑、数据库映射、并发、会话、分布策略等。在此基础上,随后的各章分别对与这些背景知识相关的设计模式进行了详细的介绍,并配以详细的Java代码或C#代码示例。《企业应用架构模式(英文版)》适合设计和构建企业应用的软件架构师、设计人员和编程人员阅读,同时也可作为高等院校计算机专业及软件学院相关课程的参考教材。   MartinFowler:享誉世界的软件开发大师。现为著名软件开发咨询公司ThoughtWorks的首席科学家。他在面向对象分析与设计、UML、设计模式、软件开发方法学、XP、重构等方面都有重要贡献。他更全球最具影响力的技术作家之一,除本书外,他的《分析模式》、《UML精粹》和《重构》等著作都已经成为经典。 Prefacexvii
    WhoThisBookIsForxx
    Acknowledgmentsxxi
    Colophonxxiii
    Introduction1
    Architecture1
    EnterpriseApplications2
    KindsofEnterpriseApplication5
    ThinkingAboutPerformance6
    Patterns9
    TheStructureofthePatterns11
    LimitationsofThesePatterns13

    PART1:TheNarratives15
    Chapter1:Layering17
    TheEvolutionofLayersinEnterpriseApplications18
    TheThreePrincipalLayers19
    ChoosingWheretoRunYourLayers22
    Chapter2:OrganizingDomainLogic25
    MakingAChoice29
    ServiceLayer30
    Chapter3:MappingtoRelationalDatabases33
    ArchitecturalPatterns33
    TheBehavioralProblem38
    ReadinginData40
    StructuralMappingPatterns41
    MappingRelationships41
    Inheritance45
    BuildingtheMapping47
    DoubleMapping48
    UsingMetadata49
    DatabaseConnections50
    SomeMiscellaneousPoints52
    FurtherReading53
    Chapter4:WebPresentation55
    ViewPatterns58
    InputControllerPatterns61
    FurtherReading61
    Chapter5:Concurrency(byMartinFowlerAndDavidRice)63
    ConcurrencyProblems64
    ExecutionContexts65
    IsolationAndImmutability66
    OptimisticAndPessimisticConcurrencyControl67
    PreventingInconsistentReads68
    Deadlocks70
    Transactions71
    ACID71
    TransactionalResources72
    ReducingTransactionIsolationforLiveness73
    BusinessAndSystemTransactions74
    PatternsforOfflineConcurrencyControl76
    ApplicationServerConcurrency78
    FurtherReading80
    Chapter6:SessionState81
    TheValueofStatelessness81
    SessionState83
    WaystoStoreSessionState84
    Chapter7:DistributionStrategies87
    TheAllureofDistributedObjects87
    RemoteAndLocalInterfaces88
    WhereYouHavetoDistribute90
    WorkingwiththeDistributionBoundary91
    InterfacesforDistribution92
    Chapter8:PuttingItAllTogether95
    StartingwiththeDomainLayer96
    DowntotheDataSourceLayer97
    DataSourceforTransactionScript(11O)97
    DataSourceforTableModule(125)98
    DataSourceforDomainModel(116)98
    ThePresentationLayer99
    SomeTechnology-SpecificAdvice100
    JavaAndJ2EE100
    NET101
    StoredProcedures102
    WebServices103
    OtherLayeringSchemes103

    PART2:ThePatterns107
    Chapter9:DomainLogicPatterns109
    TransactionScript110
    HowItWorks110
    WhentoUseIt111
    TheRevenueRecognitionProblem112
    Example:RevenueRecognition(Java)113
    DomainModel116
    HowItWorks116
    WhentoUseIt119
    FurtherReading119
    Example:RevenueRecognition(Java)120
    TableModule125
    HowItWorks126
    WhentoUseIt128
    Example:RevenueRecognitionwithATableModule(C#)129
    ServiceLayer(byRandyStafford)133
    HowItWorks134
    WhentoUseIt137
    FurtherReading137
    Example:RevenueRecognition(Java)138
    Chapter10:DataSourceArchitecturalPatterns143
    TableDataGateway144
    HowItWorks144
    WhentoUseIt145
    FurtherReading146
    Example:PersonGateway(C#)146
    Example:UsingADONETDataSets(C#)148
    RowDataGateway152
    HowItWorks152
    WhentoUseIt153
    Example:APersonRecord(Java)155
    Example:ADataHolderforADomainObject(Java)158
    ActiveRecord160
    HowItWorks160
    WhentoUseIt161
    Example:ASimplePerson(Java)162
    DataMapper165
    HowItWorks165
    WhentoUseIt170
    Example:ASimpleDatabaseMapper(Java)171
    Example:SeparatingtheFinders(Java)176
    Example:CreatingAnEmptyObject(Java)179
    Chapter11:Object-RelationalBehavioralPatterns183
    UnitofWork184
    HowItWorks184
    WhentoUseIt189
    Example:UnitofWorkwithObjectRegistration(Java)
    (byDavidRice)190
    IdentityMap195
    HowItWorks195
    WhentoUseIt198
    Example:MethodsforAnIdentityMap(Java)198
    LazyLoad200
    HowItWorks200
    WhentoUseIt203
    Example:LazyInitialization(Java)203
    Example:VirtualProxy(Java)203
    Example:UsingAValueHolder(Java)205
    Example:UsingGhosts(C#)206
    3hapter12:Object-RelationalStructuralPatterns215
    IdentityField216
    HowItWorks216
    WhentoUseIt220
    FurtherReading221
    Example:IntegralKey(C#)221
    Example:UsingAKeyTable(Java)222
    Example:UsingACompoundKey(Java)224
    ForeignKeyMapping236
    HowItWorks236
    WhentoUseIt239
    Example:Single-ValuedReference(Java)240
    Example:MultitableFind(Java)243
    Example:CollectionofReferences(C#)244
    AssociationTableMapping248
    HowItWorks248
    WhentoUseIt249
    Example:EmployeesAndSkills(C#)250
    Example:UsingDirectSQL(Java)253
    Example:UsingASingleQueryforMultipleEmployees(Java)
    (byMattFoemmelAndMartinFowler)256
    DependentMapping262
    HowItWorks262
    WhentoUseIt263
    Example:AlbumsAndTracks(Java)..264
    EmbeddedValue268
    HowItWorks268
    WhentoUseIt268
    FurtherReading270
    Example:SimpleValueObject(Java)270
    SerializedLOB272
    HowItWorks272
    WhentoUseIt274
    Example:SerializingADepartmentHierarchyin
    XML(Java)274
    SingleTableInheritance278
    HowItWorks278
    WhentoUseIt279
    Example:ASingleTableforPlayers(C#)280
    LoadingAnObjectfromtheDatabase281
    ClassTableInheritance285
    HowItWorks285
    WhentoUseIt286
    FurtherReading287
    Example:PlayersAndTheirKin(C#)287
    ConcreteTableInheritance293
    HowItWorks293
    WhentoUseIt295
    Example:ConcretePlayers(C#)296
    InheritanceMappers302
    HowItWorks303
    WhentoUseIt304
    Chapter13:Object-RelationalMetadataMappingPatterns305
    Chapter14:WebPresentationPatterns329
    Chapter15:DistributionPatterns387
    Chapter16:OfflineConcurrencyPatterns415
    Chapter17:SessionStatePatterns455
    Chapter18:BasePatterns465
    Index517
  • 内容简介:
      面向对象大师MartinFowler及其专家级合作者将40多种常用解决方案转化成模式,为我们提供了这本能够应用于任何一种企业应用平台的、关于解决方案的参考书。《企业应用架构模式(英文版)》叙述深入浅出,采用大量UML图进一步阐明有关概念。前面介绍企业应用的背景知识,如分层架构、Web表现、业务逻辑、数据库映射、并发、会话、分布策略等。在此基础上,随后的各章分别对与这些背景知识相关的设计模式进行了详细的介绍,并配以详细的Java代码或C#代码示例。《企业应用架构模式(英文版)》适合设计和构建企业应用的软件架构师、设计人员和编程人员阅读,同时也可作为高等院校计算机专业及软件学院相关课程的参考教材。
  • 作者简介:
      MartinFowler:享誉世界的软件开发大师。现为著名软件开发咨询公司ThoughtWorks的首席科学家。他在面向对象分析与设计、UML、设计模式、软件开发方法学、XP、重构等方面都有重要贡献。他更全球最具影响力的技术作家之一,除本书外,他的《分析模式》、《UML精粹》和《重构》等著作都已经成为经典。
  • 目录:
    Prefacexvii
    WhoThisBookIsForxx
    Acknowledgmentsxxi
    Colophonxxiii
    Introduction1
    Architecture1
    EnterpriseApplications2
    KindsofEnterpriseApplication5
    ThinkingAboutPerformance6
    Patterns9
    TheStructureofthePatterns11
    LimitationsofThesePatterns13

    PART1:TheNarratives15
    Chapter1:Layering17
    TheEvolutionofLayersinEnterpriseApplications18
    TheThreePrincipalLayers19
    ChoosingWheretoRunYourLayers22
    Chapter2:OrganizingDomainLogic25
    MakingAChoice29
    ServiceLayer30
    Chapter3:MappingtoRelationalDatabases33
    ArchitecturalPatterns33
    TheBehavioralProblem38
    ReadinginData40
    StructuralMappingPatterns41
    MappingRelationships41
    Inheritance45
    BuildingtheMapping47
    DoubleMapping48
    UsingMetadata49
    DatabaseConnections50
    SomeMiscellaneousPoints52
    FurtherReading53
    Chapter4:WebPresentation55
    ViewPatterns58
    InputControllerPatterns61
    FurtherReading61
    Chapter5:Concurrency(byMartinFowlerAndDavidRice)63
    ConcurrencyProblems64
    ExecutionContexts65
    IsolationAndImmutability66
    OptimisticAndPessimisticConcurrencyControl67
    PreventingInconsistentReads68
    Deadlocks70
    Transactions71
    ACID71
    TransactionalResources72
    ReducingTransactionIsolationforLiveness73
    BusinessAndSystemTransactions74
    PatternsforOfflineConcurrencyControl76
    ApplicationServerConcurrency78
    FurtherReading80
    Chapter6:SessionState81
    TheValueofStatelessness81
    SessionState83
    WaystoStoreSessionState84
    Chapter7:DistributionStrategies87
    TheAllureofDistributedObjects87
    RemoteAndLocalInterfaces88
    WhereYouHavetoDistribute90
    WorkingwiththeDistributionBoundary91
    InterfacesforDistribution92
    Chapter8:PuttingItAllTogether95
    StartingwiththeDomainLayer96
    DowntotheDataSourceLayer97
    DataSourceforTransactionScript(11O)97
    DataSourceforTableModule(125)98
    DataSourceforDomainModel(116)98
    ThePresentationLayer99
    SomeTechnology-SpecificAdvice100
    JavaAndJ2EE100
    NET101
    StoredProcedures102
    WebServices103
    OtherLayeringSchemes103

    PART2:ThePatterns107
    Chapter9:DomainLogicPatterns109
    TransactionScript110
    HowItWorks110
    WhentoUseIt111
    TheRevenueRecognitionProblem112
    Example:RevenueRecognition(Java)113
    DomainModel116
    HowItWorks116
    WhentoUseIt119
    FurtherReading119
    Example:RevenueRecognition(Java)120
    TableModule125
    HowItWorks126
    WhentoUseIt128
    Example:RevenueRecognitionwithATableModule(C#)129
    ServiceLayer(byRandyStafford)133
    HowItWorks134
    WhentoUseIt137
    FurtherReading137
    Example:RevenueRecognition(Java)138
    Chapter10:DataSourceArchitecturalPatterns143
    TableDataGateway144
    HowItWorks144
    WhentoUseIt145
    FurtherReading146
    Example:PersonGateway(C#)146
    Example:UsingADONETDataSets(C#)148
    RowDataGateway152
    HowItWorks152
    WhentoUseIt153
    Example:APersonRecord(Java)155
    Example:ADataHolderforADomainObject(Java)158
    ActiveRecord160
    HowItWorks160
    WhentoUseIt161
    Example:ASimplePerson(Java)162
    DataMapper165
    HowItWorks165
    WhentoUseIt170
    Example:ASimpleDatabaseMapper(Java)171
    Example:SeparatingtheFinders(Java)176
    Example:CreatingAnEmptyObject(Java)179
    Chapter11:Object-RelationalBehavioralPatterns183
    UnitofWork184
    HowItWorks184
    WhentoUseIt189
    Example:UnitofWorkwithObjectRegistration(Java)
    (byDavidRice)190
    IdentityMap195
    HowItWorks195
    WhentoUseIt198
    Example:MethodsforAnIdentityMap(Java)198
    LazyLoad200
    HowItWorks200
    WhentoUseIt203
    Example:LazyInitialization(Java)203
    Example:VirtualProxy(Java)203
    Example:UsingAValueHolder(Java)205
    Example:UsingGhosts(C#)206
    3hapter12:Object-RelationalStructuralPatterns215
    IdentityField216
    HowItWorks216
    WhentoUseIt220
    FurtherReading221
    Example:IntegralKey(C#)221
    Example:UsingAKeyTable(Java)222
    Example:UsingACompoundKey(Java)224
    ForeignKeyMapping236
    HowItWorks236
    WhentoUseIt239
    Example:Single-ValuedReference(Java)240
    Example:MultitableFind(Java)243
    Example:CollectionofReferences(C#)244
    AssociationTableMapping248
    HowItWorks248
    WhentoUseIt249
    Example:EmployeesAndSkills(C#)250
    Example:UsingDirectSQL(Java)253
    Example:UsingASingleQueryforMultipleEmployees(Java)
    (byMattFoemmelAndMartinFowler)256
    DependentMapping262
    HowItWorks262
    WhentoUseIt263
    Example:AlbumsAndTracks(Java)..264
    EmbeddedValue268
    HowItWorks268
    WhentoUseIt268
    FurtherReading270
    Example:SimpleValueObject(Java)270
    SerializedLOB272
    HowItWorks272
    WhentoUseIt274
    Example:SerializingADepartmentHierarchyin
    XML(Java)274
    SingleTableInheritance278
    HowItWorks278
    WhentoUseIt279
    Example:ASingleTableforPlayers(C#)280
    LoadingAnObjectfromtheDatabase281
    ClassTableInheritance285
    HowItWorks285
    WhentoUseIt286
    FurtherReading287
    Example:PlayersAndTheirKin(C#)287
    ConcreteTableInheritance293
    HowItWorks293
    WhentoUseIt295
    Example:ConcretePlayers(C#)296
    InheritanceMappers302
    HowItWorks303
    WhentoUseIt304
    Chapter13:Object-RelationalMetadataMappingPatterns305
    Chapter14:WebPresentationPatterns329
    Chapter15:DistributionPatterns387
    Chapter16:OfflineConcurrencyPatterns415
    Chapter17:SessionStatePatterns455
    Chapter18:BasePatterns465
    Index517
查看详情
好书推荐 / 更多
企业应用架构模式
(当代学术棱镜译丛)无尽的焦虑之梦
[法]路易·阿尔都塞 著;[法]奥利维耶·科尔佩 (法)扬·穆利耶·布唐 编;曹天羽 译
企业应用架构模式
文明的征程
[美]詹姆斯·亨利·布雷斯特德(James Henry Breasted) 著;李静新 周惠来 译
企业应用架构模式
动物的社会行为
[英]尼可拉斯·廷伯根 著;刘小涛 译
企业应用架构模式
印度佛教史
[印度]S.R.戈耶尔 著;黄宝生 译
企业应用架构模式
成为波伏瓦
凯特·柯克帕特里克 著;刘海平 译
企业应用架构模式
批判性思维的认知与伦理
徐贲
企业应用架构模式
汗青堂丛书073·美食与文明
蕾切尔·劳丹(Rachel Laudan) 著
企业应用架构模式
被误解的盐:你可能需要吃咸点
詹姆斯·迪尼科兰托尼奥
企业应用架构模式
为自然书籍制图:16世纪人体解剖和医用植物书籍中的图像、文本与论证
[日]楠川幸子 著;王彦之 译
企业应用架构模式
(蓝色东欧)两天的世界(上、下全2册)
乔治·伯勒伊泽
企业应用架构模式
历史视域中的人民主权
张爽 著;[英]理查德·伯克 昆廷·斯金纳 主编;[英]理查德·伯克、昆廷·斯金纳、张爽 译
企业应用架构模式
新知文库136·万有感官 听觉塑造心智
[美]塞思·霍罗威茨 著;蒋雨蒙 译