4087 / -1

Refactoring: Improving the Design of Existing Code Ссылки

Refactoring: Improving the Design of Existing Code

БончБруевич БончБруевич, Комментарии (нет)

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 Refactoring: Improving the Design of Existing Software, 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.

With proper training a skilled system designer can take a bad design and rework it into well-designed, robust code. In this book, Martin Fowler shows you where opportunities for refactoring typically can be found, and how to go about reworking a bad design into a good one. Each refactoring step is simple-seemingly too simple to be worth doing. Refactoring may involve moving a field from one class to another, or pulling some code out of a method to turn it into its own method, or even pushing some code up or down a hierarchy. While these individual steps may seem elementary, the cumulative effect of such small changes can radically improve the design. Refactoring is a proven way to prevent software decay.

In addition to discussing the various techniques of refactoring, the author provides a detailed catalog of more than seventy proven refactorings with helpful pointers that teach you when to apply them; step-by-step instructions for applying each refactoring; and an example illustrating how the refactoring works. The illustrative examples are written in Java, but the ideas are applicable to any object-oriented programming language.
3945 / -1

Refactoring to Patterns Ссылки

Refactoring to Patterns

БончБруевич БончБруевич, Комментарии (нет)

In 1994, Design Patterns changed the landscape of object-oriented development by introducing classic solutions to recurring design problems. In 1999, Refactoring revolutionized design by introducing an effective process for improving code. With the highly anticipated Refactoring to Patterns, Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.

This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.

4035 / -1

Domain-Driven Design: Tackling Complexity in the Heart of Software Ссылки

Domain-Driven Design: Tackling Complexity in the Heart of Software

БончБруевич БончБруевич, Комментарии (нет)

The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process.

Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development.

Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:

  • Getting all team members to speak the same language
  • Connecting model and implementation more deeply
  • Sharpening key distinctions in a model
  • Managing the lifecycle of a domain object
  • Writing domain code that is safe to combine in elaborate ways
  • Making complex code obvious and predictable
  • Formulating a domain vision statement
  • Distilling the core of a complex domain
  • Digging out implicit concepts needed in the model
  • Applying analysis patterns
  • Relating design patterns to the model
  • Maintaining model integrity in a large system
  • Dealing with coexisting models on the same project
  • Organizing systems with large-scale structures
  • Recognizing and responding to modeling breakthroughs

With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

4899 / 0

The Pragmatic Programmer: From Journeyman to Master Ссылки

The Pragmatic Programmer: From Journeyman to Master

БончБруевич БончБруевич, Комментарии (нет)

The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to
  • Fight software rot;
  • Avoid the trap of duplicating knowledge;
  • Write flexible, dynamic, and adaptable code;
  • Avoid programming by coincidence;
  • Bullet-proof your code with contracts, assertions, and exceptions;
  • Capture real requirements;
  • Test ruthlessly and effectively;
  • Delight your users;
  • Build teams of pragmatic programmers; and
  • Make your developments more precise with automation.
Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
3743 / -1

Code Complete: A Practical Handbook of Software Construction Ссылки

Code Complete: A Practical Handbook of Software Construction

БончБруевич БончБруевич, Комментарии (нет)

For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code--and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software. Whether you're a new developer seeking a sound introduction to the practice of software development or a veteran exploring strategic new approaches to problem solving, you'll find a wealth of practical suggestions and methods for strengthening your skills. Topics include design, applying good techniques to construction, eliminating errors, planning, managing construction activities, and relating personal character to superior software. This new edition features fully updated information on programming techniques, including the emergence of Web-style programming, and integrated coverage of object-oriented design. You'll also find new code examples--both good and bad--in C++, Microsoft(r) Visual Basic(r), C#, and Java, though the focus is squarely on techniques and practices.
4614 / 0

Clean Code: A Handbook of Agile Software Craftsmanship Ссылки

Clean Code: A Handbook of Agile Software Craftsmanship

БончБруевич БончБруевич, Комментарии (нет)

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it.

What kind of work will you be doing? You’ll be reading code—lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.

Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code—of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.

Readers will come away from this book understanding
  • How to tell the difference between good and bad code
  • How to write good code and how to transform bad code into good code
  • How to create good names, good functions, good objects, and good classes
  • How to format code for maximum readability
  • How to implement complete error handling without obscuring code logic
  • How to unit test and practice test-driven development
This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
4253 / 1

Implementation Patterns Ссылки

Implementation Patterns

БончБруевич БончБруевич, Комментарии (нет)

Great code doesn’t just function: it clearly and consistently communicates your intentions, allowing other programmers to understand your code, rely on it, and modify it with confidence. But great code doesn’t just happen. It is the outcome of hundreds of small but critical decisions programmers make every single day. Now, legendary software innovator Kent Beck–known worldwide for creating Extreme Programming and pioneering software patterns and test-driven development–focuses on these critical decisions, unearthing powerful “implementation patterns” for writing programs that are simpler, clearer, better organized, and more cost effective. 

Beck collects 77 patterns for handling everyday programming tasks and writing more readable code. This new collection of patterns addresses many aspects of development, including class, state, behavior, method, collections, frameworks, and more. He uses diagrams, stories, examples, and essays to engage the reader as he illuminates the patterns. You’ll find proven solutions for handling everything from naming variables to checking exceptions.

This book covers

  • The value of communicating through code and the philosophy behind patterns
  • How and when to create classes, and how classes encode logic
  • Best practices for storing and retrieving state
  • Behavior: patterns for representing logic, including alternative paths
  • Writing, naming, and decomposing methods
  • Choosing and using collections
  • Implementation pattern variations for use in building frameworks
Implementation Patterns will help programmers at all experience levels, especially those who have benefited from software patterns or agile methods. It will also be an indispensable resource for development teams seeking to work together more efficiently and build more maintainable software. No other programming book will touch your day-to-day work more often.
19759 / 1

Patterns of Enterprise Application Architecture Ссылки

Patterns of Enterprise Application Architecture

БончБруевич БончБруевич, Комментарии (3)

Noted software engineering expert, Martin Fowler, turns his attention to enterprise application development. He helps professionals understand the complex--yet critical--aspects of architecture. Enables the reader to make proper choices when faced with a difficult design decision.

From the Back Cover

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.

Patterns of Enterprise Application Architecture 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


  • 3379 / 1

    Rails for PHP Developers Ссылки

    Rails for PHP Developers

    БончБруевич БончБруевич, Комментарии (нет)

    As a PHP developer, you have some great tools for developing web applications. Ruby on Rails is another key tool to add to your web development toolbox. Rails is a high-level web development framework that emphasizes high productivity and clean code. However, the Ruby language and Rails framework take a different approach from the way many PHP developers write applications.

    Ruby lies at the foundation of Rails, and we’ll teach you the Ruby language from the beginning by building on your existing foundation of PHP. We’ll explore Ruby through parallel code examples that illustrate the differences between the languages, and help you understand the Ruby idioms and how they differ from popular PHP code and style.

    You’ll then learn the Rails framework by iteratively building a complete application, starting from the home page through to a finished product. Along the way, you’ll build your skills as a Rails developer by learning the Rails fundamentals such as MVC structure, domain modeling, and testing.

    In addition to serving as a guide to learning both Ruby and Rails from a PHP developer’s perspective, this book includes two extensive reference chapters. They map the most common PHP tasks to their equivalents in the Ruby and Rails world, giving you at-a-glance information that you’ll refer to often.

    • Leverage PHP knowledge to learn Ruby on Rails quickly
    • Understand key differences between Ruby and PHP
    • Learn Rails best practices and relate them to PHP
    • Develop techniques for writing effective Rails code
    3557 / 0

    Website Optimization Ссылки

    Website Optimization

    БончБруевич БончБруевич, Комментарии (нет)

    Is your site easy to find, simple to navigate, and enticing enough to convert prospects into buyers? Website Optimization shows you how. It reveals a comprehensive set of techniques to improve your site's performance by boosting search engine visibility for more traffic, increasing conversion rates to maximize leads and profits, revving up site speed to retain users, and measuring your site's effectiveness (before and after these changes) with best-practice metrics and tools.

    Remember when an optimized website was one that merely didn't take all day to appear? Times have changed. Today, website optimization can spell the difference between enterprise success and failure, and it takes a lot more know-how to achieve success.

    This book is a comprehensive guide to the tips, techniques, secrets, standards, and methods of website optimization. From increasing site traffic to maximizing leads, from revving up responsiveness to increasing navigability, from prospect retention to closing more sales, the world of 21st century website optimization is explored, exemplified and explained.

    Website Optimization combines the disciplines of online marketing and site performance tuning to attain the competitive advantage necessary on today's Web. You'll learn how to improve your online marketing with effective paid and natural search engine visibility strategies, strengthened lead creation and conversion to sales methods, and gold-standard ad copywriting guidelines. Plus, your increased site speed, reduced download footprint, improved reliability, and improved navigability will work synergistically with those marketing methods to optimize your site's total effectiveness.

    In this book for business and IT managers, author Andrew King, president of Website Optimization, LLC, has assembled experts in several key specialties to teach you:

    • Search engine optimization -- addressing best (and worst) practices to improve search engine visibility, including step-by-step keyword optimization guidelines, category and tag cloud creation, and guerilla PR techniques to boost inbound links and improve rankings
    • Pay-per-click optimization -- including ad copywriting guidelines, setting profit-driven goals, calculating and optimizing bids, landing page optimization, and campaign management tips
    • Optimizing conversion rates -- increasing leads with site landing page guidelines, such as benefit-oriented copy, credibility-based design, value hierarchies, and tips on creating unique selling propositions and slogans
    • Web performance tuning -- optimizing ways to use (X)HTML, CSS, and Ajax to increase speed, reduce your download footprint, and increase reliability
    • Advanced tuning -- including client-side techniques such as on-demand content, progressive enhancement, and inline images to save HTTP requests. Plus server-side tips include improving parallelism, using cache control, browser sniffing, HTTP compression, and URL rewriting to remap links and preserve traffic
    • Web metrics -- illustrating the best metrics and tools to gather details about visitors and measure web conversion and success rates. Covering both search marketing metrics and web performance measures including Pathloss and waterfall graphs

    Website Optimization not only provides you with a strategy for success, it also offers specific techniques for you and your staff to follow. A profitable website needs to be well designed, current, highly responsive, and optimally persuasive if you're to attract prospects, convert them to buyers, and get them to come back for more. This book describes precisely what you need to accomplish to achieve all of those goals.

    3886 / 1

    Web 2.0: A Strategy Guide Ссылки

    Web 2.0: A Strategy Guide

    БончБруевич БончБруевич, Комментарии (3)

    Web 2.0 makes headlines, but how does it make money? This concise guide explains what's different about Web 2.0 and how those differences can improve the bottom line. Whether you're an executive, a small business owner, or an entrepreneur, Web 2.0: A Strategy Guide illustrates through real life examples how various businesses are creating new opportunities on today's Web. This book is about strategy rather than the technology itself.Web 2.0 makes headlines, but how does it make money? This concise guide explains what's different about Web 2.0 and how those differences can improve your company's bottom line. Whether you're an executive plotting the next move, a small business owner looking to expand, or an entrepreneur planning a startup, Web 2.0: A Strategy Guide illustrates through real-life examples how businesses, large and small, are creating new opportunities on today's Web.This book is about strategy. Rather than focus on the technology, the examples concentrate on its effect. You will learn that creating a Web 2.0 business, or integrating Web 2.0 strategies with your existing business, means creating places online where people like to come together to share what they think, see, and do. When people come together over the Web, the result can be much more than the sum of the parts. The customers themselves help build the site, as old-fashioned "word of mouth" becomes hypergrowth.

    Web 2.0: A Strategy Guide demonstrates the power of this new paradigm by examining how:
    • Flickr, a classic user-driven business, created value for itself by helping users create their own value
    • Google made money with a model based on free search, and changed the rules for doing business on the Web-opening opportunities you can take advantage of

    • Social network effects can support a business-ever wonder how FaceBook grew so quickly?
    • Businesses like Amazon tap into the Web as a source of indirect revenue, using creative new approaches to monetize the investments they've made in the Web
    Written by Amy Shuen, an authority on Silicon Valley business models and innovation economics, Web 2.0: A Strategy Guide explains how to transform your business by looking at specific practices for integrating Web 2.0 with what you do. If you're executing business strategy and want to know how the Web is changing business, this book is for you.
    2693 / 0

    advanced javascript Ссылки

    advanced javascript

    alex alex, Комментарии (нет)

    JavaScript is a trademark of Sun Microsystems, Inc. in the United States and other countries.
       Other brand names and product names mentioned in this book are trademarks or service marks of their
    respective companies. Any omission or misuse (of any kind) of service marks or trademarks should not be
    regarded as intent to infringe on the property of others. The publisher recognizes and respects all marks used
    by companies, manufacturers, and developers as a means to distinguish their products.
       This book is sold as is, without warranty of any kind, either express or implied, respecting the contents of
    this book and any disks or programs that may accompany it, including but not limited to implied warranties for
    the book’s quality, performance, merchantability, or fitness for any particular purpose. Neither Wordware
    Publishing, Inc. nor its dealers or distributors shall be liable to the purchaser or any other person or entity with
    respect to any liability, loss, or damage caused or alleged to have been caused directly or indirectly by this book.
    All inquiries for volume purchases of this book should be addressed to Wordware Publishing, Inc.,
    at the above address. Telephone inquiries may be made by calling:


    Другие страницы

     
    Cкачать книги бесплатно без регистрации в электронном виде (pdf, chm, txt).Вы можете читать книги онлайн на нашем сайте литературного портала книг.Большая подборка учебников, пособий, интересных книг.Электронные книги на английском языке скачать бесплатно без смс.