Read Books Online

martin fowler books | Download ePub PDF

Refactoring: Improving the Design of Existing Code

Refactoring: Improving the Design of Existing Code Description:

As the application of object technology particularly the Java programming language has become commonplace a new problem has emerged to confront the software development community Significant numbers of poorly designed programs have been created by less experienced developers resulting in applications that are inefficient and hard to maintain and extend Increasingly software system professionals are discovering just how difficult it is to work with these inherited non optimal applications For several years expert level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs Referred to as refactoring these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use until now In i Refactoring Improving the Design of Existing Software i renowned object technology mentor Martin Fowler breaks new ground demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process

Rating: 3.59 out of 5

Patterns of Enterprise Application Architecture

Patterns of Enterprise Application Architecture Description:

The practice of enterprise application development has benefited from the emergence of many new enabling technologies Multi tiered object oriented platforms such as Java and NET have become commonplace These new tools and technologies are capable of building powerful applications but they are not easily implemented Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned b i Patterns of Enterprise Application Architecture i b is written in direct response to the stiff challenges that face enterprise application developers The author noted object oriented designer Martin Fowler noticed that despite changes in technology from Smalltalk to CORBA to Java to NET the same basic design ideas can be adapted and applied to solve common problems With the help of an expert group of contributors Martin distills over forty recurring solutions into patterns The result is an indispensable handbook of solutions that are applicable to any enterprise application platform This book is actually two books in one The first section is a short tutorial on developing enterprise applications which you can read from start to finish to understand the scope of the book s lessons The next section the bulk of the book is a detailed reference to the patterns themselves Each pattern provides usage and implementation information as well as detailed code examples in Java or C The entire book is also richly illustrated with UML diagrams to further explain the concepts Armed with this book you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them The topics covered include Dividing an enterprise application into layers The major approaches to organizing business logic An in depth treatment of mapping between objects and relational databases Using Model View Controller to organize a Web presentation Handling concurrency for data that spans multiple transactions Designing distributed object interfaces

Rating: 3.42 out of 5

UML Distilled: A Brief Guide to the Standard Object Modeling Language

UML Distilled: A Brief Guide to the Standard Object Modeling Language Description:

More than developers have benefited from past editions of UML Distilled This third edition is the best resource for quick no nonsense insights into understanding and using UML and prior versions of the UML Some readers will want to quickly get up to speed with the UML and learn the essentials of the UML Others will use this book as a handy quick reference to the most common parts of the UML The author delivers on both of these promises in a short concise and focused presentation This book describes all the major UML diagram types what they re used for and the basic notation involved in creating and deciphering them These diagrams include class sequence object package deployment use case state machine activity communication composite structure component interaction overview and timing diagrams The examples are clear and the explanations cut to the fundamental design logic If you are like most developers you don t have time to keep up with all the new innovations in software engineering This new edition of Fowler s classic work gets you acquainted with some of the best thinking about efficient object oriented software design using the UML in a convenient format that will be essential to anyone who designs software professionally

Rating: 3.33 out of 5

Domain-Specific Languages

Domain-Specific Languages Description:

When carefully selected and used Domain Specific Languages DSLs may simplify complex code promote effective communication with customers improve productivity and unclog development bottlenecks In b i Domain Specific Languages i b noted software development expert Martin Fowler first provides the information software professionals need to decide if and when to utilize DSLs Then where DSLs prove suitable Fowler presents effective techniques for building them and guides software engineers in choosing the right approaches for their applications br This book s techniques may be utilized with most modern object oriented languages the author provides numerous examples in Java and C as well as selected examples in Ruby Wherever possible chapters are organized to be self standing and most reference topics are presented in a familiar patterns format Armed with this wide ranging book developers will have the knowledge they need to make important decisions about DSLs and where appropriate gain the significant technical and business benefits they offer The topics covered include How DSLs compare to frameworks and libraries and when those alternatives are sufficient Using parsers and parser generators and parsing external DSLs Understanding comparing and choosing DSL language constructs Determining whether to use code generation and comparing code generation strategies Previewing new language workbench tools for creating DSLs

Rating: 3.28 out of 5

Analysis Patterns: Reusable Object Models

Analysis Patterns: Reusable Object Models Description:

This innovative book recognizes the need within the object oriented community for a book that goes beyond the tools and techniques of the typical methodology book In Analysis Patterns Reusable Object Models Martin Fowler focuses on the end result of object oriented analysis and design the models themselves He shares with you his wealth of object modeling experience and his keen eye for identifying repeating problems and transforming them into reusable models Analysis Patterns provides a catalogue of patterns that have emerged in a wide range of domains including trading measurement accounting and organizational relationships

Rating: 3.55 out of 5

Continuous Integration

Continuous Integration Description:

Continuous Integration is a software development practice where members of a team integrate their work frequently usually each person integrates at least daily leading to multiple integrations per day Each integration is verified by an automated build including test to detect integration errors as quickly as possible Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly This article is a quick overview of Continuous Integration summarizing the technique and its current usage

Rating: 3.41 out of 5

Inversion of Control Containers and the Dependency Injection pattern

Inversion of Control Containers and the Dependency Injection pattern Description:

In the Java community there s been a rush of lightweight containers that help to assemble components from different projects into a cohesive application Underlying these containers is a common pattern to how they perform the wiring a concept they refer under the very generic name of Inversion of Control In this article I dig into how this pattern works under the more specific name of Dependency Injection and contrast it with the Service Locator alternative The choice between them is less important than the principle of separating configuration from use

Rating: 3.62 out of 5

Knowledge Management 95 Success Secrets - 95 Most Asked Questions on Knowledge Management - What You Need to Know

Knowledge Management 95 Success Secrets - 95 Most Asked Questions on Knowledge Management - What You Need to Know Description:

There has never been a Knowledge Management manual like this Knowledge Management Success Secrets is not about the ins and outs of Knowledge Management Instead it answers the top questions that we are asked and those we come across in forums our consultancy and education programs It tells you exactly how to deal with those questions with tips that have never before been offered in print This guidebook is also not about Knowledge Management best practice and standards details Instead it introduces everything you want to know to be successful with Knowledge Management br br A quick look inside of the subjects covered A Knowledge Management Officer Is Needed to Run the Program Getting Clued in on Knowledge Management Conferences Knowledge Management PDF Good References The Benefits of Knowledge Management Review Open Source Knowledge Management Enhancing Knowledge Sharing Through Interoperability What Goes on in Knowledge Management for Customer Satisfaction The Role of Knowledge Management in Strengthening an Organization Why Knowledge Management is Important A Brief Introduction to Knowledge Management Knowledge Management Job Vacancies Grows As More Companies Implement Knowledge Management Research Capturing the Best Know how to Improve the Business Process The Way IBM Deals with Knowledge Management Knowledge Management Courses What is currently happening Knowledge Management And Paper Or Thesis Or Project Importance of Attending the Knowledge Management Conference Knowledge Management Journal What s Out And What s New in the Field Access to Case Studies on Knowledge Management Knowledge Management Systems and their Underlying Benefits Understanding Deeper What Knowledge Management Project Is The Importance of Knowledge Management Tools Schools of Knowledge Management Theory The benefits of Knowledge Management in your Organization Service Knowledge Management System SKMS Three Interesting Definitions of Knowledge Management Key Points in Designing Knowledge Management Architecture Let Knowledge Management Companies Do the Work Knowledge Management IT Benefits and Risks Understanding How Knowledge Management Consultancy Works Knowledge Management PhD Specializing Has Its Rewards Definition of Knowledge Management Presenting a More Detailed and Formalized Pattern for Informatio A Good KNowledge Management Practice Is Needed to Thrive in Business How to Choose the Best Knowledge Management Software Sharing Information Through the Journal of Knowledge Management Practice Everything About International Journal of Knowledge Management and much more

Rating: 3.47 out of 5

重構:改善既有程式的設計 (二版)

重構:改善既有程式的設計 (二版) Description:

No description available

Rating: 3.34 out of 5

Eradicating Non-Determinism in Tests

Eradicating Non-Determinism in Tests Description:

An automated regression suite can play a vital role on a software project valuable both for reducing defects in production and essential for evolutionary design In talking with development teams I ve often heard about the problem of non deterministic tests tests that sometimes pass and sometimes fail Left uncontrolled non deterministic tests can completely destroy the value of an automated regression suite In this article I outline how to deal with non deterministic tests Initially quarantine helps to reduce their damage to other tests but you still have to fix them soon Therefore I discuss treatments for the common causes for non determinism lack of isolation asynchronous behavior remote services time and resource leaks

Rating: 3.44 out of 5