000 07431cam a22005537i 4500
999 _c200
_d200
001 19706737
005 20220110072024.0
008 170613s2018 enka b 001 0 eng d
010 _a 2017945537
016 7 _a018284503
_2Uk
020 _a9780134494166
_q(paperback)
020 _a0134494164
_q(paperback)
035 _a(OCoLC)on1004983973
040 _aEUM
_beng
_cEUM
_erda
_dIG$
_dIUP
_dGP5
_dTOH
_dOCLCF
_dPSC
_dNYP
_dEG-CaTKH
042 _alccopycat
050 0 0 _aQA76.76.D47
_bM36515 2018
082 0 4 _a004.22 MA.C 2018
_223
100 1 _aMartin, Robert C.,
_eauthor.
245 1 0 _aClean architecture :
_ba craftsman's guide to software structure and design /
_cRobert C. Martin.
264 1 _aLondon, England :
_bPrentice Hall,
_c2018.
300 _axxv, 404 pages :
_billustrations ;
_c24 cm
336 _atext
_2rdacontent
_btxt
337 _aunmediated
_2rdamedia
_bn
338 _avolume
_2rdacarrier
_bnc
490 1 _aRobert C. Martin series
504 _aIncludes bibliographical references and index.
505 0 0 _a\a Part I. Introduction : What is design and architecture? : The goal? ; Case study -- A tale of two values : Behavior ; Architecture ; The greater value ; Eisenhower's matrix ; Fight for the architecture -- Part II. Starting with the bricks: programming paradigms : Paradigm overview : Structured programming ; Object-oriented programming ; Functional programming ; food for thought -- Structured programming : Proof ; A harmful proclamation ; Functional decomposition ; No formal proofs ; Science to the rescue ; Tests -- Object-oriented programming : Encapsulation? ; Inheritance? ; Polymorphism? -- Functional programming : Squares of integers ; Immutability and architecture ; Segregation of mutability ; Event sourcing -- Part III. Design principles : SRP: the single responsibility principle : Symptom 1: Accidental duplication ; Symptom 2: Merges ; Solutions -- OCP: the open-closed principle : A thought experiment ; Information hiding -- LSP: the Liskov substitution principle : Guiding the use of inheritance ; The square/rectangle problem ; LSP and architecture ; Example LSP violation -- ISP: the interface segregation principle : ISP and language ; ISP and architecture -- DIP: the dependency inversion principle : Stable abstractions ; Factories ; Concrete components -- Part IV. Component principles : Component cohesion : The reuse/release equivalence principle ; The common closure principle ; The common reuse principle ; The tension diagram for component cohesion -- Component coupling : The acyclic dependencies principle : Top-down design ; The stable dependencies principle ; The stable abstraction principle -- Part V. Architecture : What is architecture : Development ; Deployment ; Operation ; Maintenance ; Keeping options open ; Device independence ; Junk mail ; Physical addressing -- Independence : Use cases ; Operation ; Development ; Deployment ; Leaving options open ; Decoupling layers ; Decoupling use cases ; Decoupling mode ; Independent develop-ability ; Independent deployability ; Duplication ; Decoupling modes (again) -- Boundaries: drawing lines : A couple of sad stories ; FitNesse ; Which lines do you draw, and when do you draw them? ; What about input and output? ; Plugin architecture ; The plugin argument -- Boundary anatomy : Boundary crossing ; The dreaded monolith ; Deployment components ; Threads ; Local processes ; Services -- Policy and level -- Business rules : Entities ; Use cases ; Request and response models -- Screaming architecture : The theme of an architecture ; The purpose of an architecture ; But what about the Web? ; Frameworks are tools, not ways of life ; Testable architecture -- The clean architecture : The dependency rule ; A typical scenario -- Presenters and humble objects : The humble object pattern ; Presenters and views ; Testing and architecture ; Database gateways ; Data mappers ; Service listeners -- Partial boundaries : Skip the last step ; One-dimensional boundaries -- Layers and boundaries : Hunt the wumpus ; Clean architecture? ; Crossing the streams ; Splitting the streams -- The main component : The ultimate detail -- Services: great and small : Service architecture? ; Service benefits? ; The kitty problem ; Objects to the rescue ; Component-based services ; Cross-cutting concerns -- The test boundary : Test as system components ; Design for testability ; The testing API -- Clean embedded architecture : App-titude test ; The target-hardware bottleneck -- Part VI. Details : The database is a detail : Relational databases ; Why are database systems so prevalent? ; What if there were no disk? ; Details ; But what about performance? ; Anecdote -- The Web is a detail : The endless pendulum ; The upshot -- Frameworks are details : Framework authors ; Asymmetric marriage ; The risks ; The solution ; I now pronounce you ... -- Case study: video sales : The product ; Use case analysis ; Component architecture ; Dependency management -- The missing chapter : Package by layer ; Package by feature ; Ports and adapters ; Package by component ; The devil is in the implementation details ; Organization versus encapsulation ; Other decoupling modes ; Conclusion : The missing advice -- Afterword / Jason Gorman -- Part VII. Appendix : Architecture archaeology.
520 _aBuilding upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design. As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to make, and why those choices are critical to your success. Martin offers direct, no-nonsense answers to key architecture and design questions like: What are the best high level structures for different kinds of applications, including web, database, thick-client, console, and embedded apps? What are the core principles of software architecture? What is the role of the architect, and what is he/she really trying to achieve? What are the core principles of software design? How do designs and architectures go wrong, and what can you do about it? What are the disciplines and practices of professional architects and designers? Clean Architecture is essential reading for every software architect, systems analyst, system designer, and software manager -- and for any programmer who aspires to these roles or is impacted by their work.
650 0 _aSoftware architecture.
650 0 _aComputer software
_xDevelopment.
650 0 _aComputer programming
_xHistory.
650 7 _aCOMPUTERS / Computer Architecture.
650 7 _aComputer programming.
650 7 _aComputer software
_xDevelopment.
650 7 _aSoftware architecture.
700 1 _aBrown, Simon,
_d1975-
_econtributor.
830 0 _aRobert C. Martin series.
942 _2ddc
_cBK
998 _amona.romia
_bM
_d20220109
015 _aGBB759158
655 7 _aHistory.
_2fast
_0(OCoLC)fst01411628
800 1 _aMartin, Robert C.
_tRobert C. Martin series.
906 _a7
_bcbc
_ccopycat
_d2
_eepcn
_f20
_gy-gencatlg