Showing posts with label object-oriented design. Show all posts
Showing posts with label object-oriented design. Show all posts

Touch of Class: Learning to Program Well with Objects and Contracts Review

Touch of Class: Learning to Program Well with Objects and Contracts
Average Reviews:

(More customer reviews)
Are you looking to buy Touch of Class: Learning to Program Well with Objects and Contracts? Here is the right place to find the great deals. we can offer discounts of up to 90% on Touch of Class: Learning to Program Well with Objects and Contracts. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Touch of Class: Learning to Program Well with Objects and Contracts ReviewFrom the man who invented eiffel. An excellent introduction to software development the right way. Examples and the software development environment is available as a free download. The approach used in this book is useful for the beginner as well as an experienced programmer. Software runs on Linux, Mac OS x,
and Windows.Touch of Class: Learning to Program Well with Objects and Contracts OverviewFrom object technology pioneer and ETH Zurich professor Bertrand Meyer, winner of the Jolt award and the ACM Software System Award, a revolutionary textbook that makes learning programming fun and rewarding. Meyer builds his presentation on a rich object-oriented software system supporting graphics and multimedia, which students can use to produce impressive applications from day one, then understand inside out as they learn new programming techniques. Unique to Touch of Class is a combination of a practical, hands-on approach to programming with the introduction of sound theoretical support focused on helping students learn the construction of high quality software. The use of full color brings exciting programming concepts to life.Among the useful features of the book is the use of Design by Contract, critical to software quality and providing a gentle introduction to formal methods. Will give students a major advantage by teaching professional-level techniques in a literate, relaxed and humorous way.

Want to learn more information about Touch of Class: Learning to Program Well with Objects and Contracts?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Object-Oriented Project Management with UML Review

Object-Oriented Project Management with UML
Average Reviews:

(More customer reviews)
Are you looking to buy Object-Oriented Project Management with UML? Here is the right place to find the great deals. we can offer discounts of up to 90% on Object-Oriented Project Management with UML. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Object-Oriented Project Management with UML ReviewThere is no doubt that this book is very good for somebody, who is going to start working in a software engineering environment. However, there are a couple of points which indicate that one should look around before deciding upon a purchase. (Even with the current price of 24 $)
Here are my points of concern:
- The chapter on object technology is really a half-hearted introduction and not very useful for getting started in this field.
- The book relies heavily on just a few references. Those references are recommended repeatedly. One of them is the doubtful 'Journey of a Software Professional' (Hint: Check out the mixed reviews.)
- The author can't resist recommending the 80-20 rule throughout the different project phases. This is hardly inventive and adds to a certain degree of repetitiveness.
- The case study is more entertaining than informative.
- The third part of the book (consisting of only one chapter) simply gives the impression that the book was rushed out for print.
I am not quite sure why this book merits a hardcover and on some occasions throughout the book, I could not help thinking that the layouters tried to increase the number of pages by adding a few commentary boxes ('Tips') here and there and enlarging diagrams to 'poster-size'.
Despite all those complaints, I have to say that the book helped me to gain an overview of the management process of a software product. But, after my first reading, it now gathers dust on the bookshelf ...Object-Oriented Project Management with UML OverviewAlmost all software projects are risky. The goal of every project manager is to somehow deal with the cost and schedule uncertainty while meeting your customer's needs. In Object-Oriented Project Management with UML, Murray Cantor describes an elegant, UML-based approach to managing object-oriented projects guaranteed to deliver high-quality software on time and within budget.Drawing on his experience managing major software projects at IBM and TASC, Cantor supplies you with:Proven ways to reap the benefits of using UML tools to tame most project demons and deliver optimal OO systemsTips on integrating object-based techniques with traditional methods for project planning, risk management, scheduling, time-phased budgeting, and moreExpert advice on how to handle all the important "people" issues that crop up during a development projectReal-life war stories that let you see firsthand what worked and what didn't on several major development projectsA full-length project example that walks you through every phase of a project told in terms of problems and solutionsVisit the companion Web site at www wiley.com/compbooks/cantor to find:Sample project schedules, budgets, database templates for managing use cases, and a work-breakdown structureA spreadsheet workbook for managing incremental developmentA development tracking diagramPrior to joining TASC, Dr.Cantor was a development manager at IBM, where he oversaw the development of high-end graphics and multimedia systems.

Want to learn more information about Object-Oriented Project Management with UML?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing (v. 4) Review

Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing (v. 4)
Average Reviews:

(More customer reviews)
Are you looking to buy Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing (v. 4)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing (v. 4). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing (v. 4) ReviewI don't have much to add over T. Anderson's review, but wanted to weigh in with a 5-star vote as a practicing distributed-systems architect. In particular I'm irritated by the one-star review from the person who obviously didn't understand what he/she was buying.
This is as close as you're going to get to a one-stop "encyclopedia" of patterns relevant to distributed computing (and other areas as well). I own most of the architecture/design patterns books, but this is the one I'll go to first for ideas, study, and use as a reference.
As for content, the catalogue of patterns is more comprehensive than any other volume I'm aware of and it is well organized. Each chapter describes a group of patterns that address recurrent vertical and horizontal architectural problem spaces. Each group is briefly introduced and described in the context of that. These introductions are pithy, on-target, and along with the complete pattern descriptions almost constitute a good introduction to distributed computing in general.
Most patterns are described in two pages in a format that has been well-honed over time for usefulness and comprehensibility. You find out where and when each pattern is likely to be useful, what motivates it, how it works, pros and cons, and what other patterns might be used with it.
The cross-referencing between patterns both within this book and in other sources is extensive and one of its most valuable features. The authors provide you with 114 pattern descriptions cross-referenced with "over 150" from other sources. That's a pretty extensive language!
Lots of spelling errors and such, but nothing that should confuse anyone.
This book is NOT a true encyclopedia, and you will want or need some of the core volumes that cover the "over 150" patterns that are referenced but not described here. The most notable are:
Patterns of Enterprise Application Architecture (The Addison-Wesley Signature Series)
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (The Addison-Wesley Signature Series)
Remoting Patterns: Foundations of Enterprise, Internet and Realtime Distributed Object Middleware (Wiley Software Patterns Series)
Most, if not all, of the material in Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects is covered in Volume 4. If you don't have that book you might want it for deeper discussion of some of the patterns. On the other hand, the current volume contains important updates to a couple of patterns in the earlier volume.
If you're new to patterns, please avoid Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series), also known as the "GoF" (Gang of Four) book. It is a classic and the authors deserve their "props" for introducing design patterns to the broader development community, but it is the worst-written and most misleading book I've ever read on patterns. (In fairness to the authors, it was the "grand-daddy" of them all and perhaps they can be excused for not having the intervening 12 years of experience in pattern documentation to help them.)
I've heard good things about Head First Design Patterns (Head First) and Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) from people who have read the GoF book, so you might try that. I haven't read either myself.
If you're familiar with patterns and want perhaps the most comprehensive and useful single pattern book to date, especially if you're involved with the architecture of distributed systems, buy this!
It is not for beginners or those looking for boilerplate code!
Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing (v. 4) OverviewThe eagerly awaited Pattern-Oriented Software Architecture (POSA) Volume 4 is about a pattern language for distributed computing.
The authors will guide you through the best practices and introduce you to key areas of building distributed software systems. POSA 4 connects many stand-alone patterns, pattern collections and pattern languages from the existing body of literature found in the POSA series. Such patterns relate to and are useful for distributed computing to a single language.
The panel of experts provides you with a consistent and coherent holistic view on the craft of building distributed systems.
Includes a foreword by Martin Fowler
A must read for practitioners who want practical advice to develop a comprehensive language integrating patterns from key literature.


Want to learn more information about Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing (v. 4)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Refactoring: Improving the Design of Existing Code Review

Refactoring: Improving the Design of Existing Code
Average Reviews:

(More customer reviews)
Are you looking to buy Refactoring: Improving the Design of Existing Code? Here is the right place to find the great deals. we can offer discounts of up to 90% on Refactoring: Improving the Design of Existing Code. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Refactoring: Improving the Design of Existing Code ReviewLike the Gang of Four's landmark book _Design Patterns_, Fowler and his cohorts have created another catalog-style book, this time on refactoring.
Refactoring refers to taking existing, working software, and changing it about to improve its design, so that future modifications and enhancements are easier to add. _Refactoring_ is primarily a catalog of 70 or so different kinds of improvements you can make to object-oriented software.
Each entry in the catalog describes an implementation problem, the solution, motivation for applying the solution, the mechanics of the refactoring, and examples. The book's examples are all in Java, but C++ programmers should be able to approach the refactorings with ease. Often, Fowler diagrams the refactorings in UML, so a little Unified Modeling Language experience will help, too.
While the catalog is nice, the kinds of refactorings are obvious is most cases. Even moderately experienced programmers won't need the step-by-step mechanics described. The real benefit, though, is that the mechanics of each refactoring help guarantee that you can pull off the refactoring without introducing new bugs or side effects. They encourage you to take smaller, verifiable steps, than the more gross refactorings that most developers would naturally take. You actually save time doing so.
How do you know your refactorings are safe? Unit testing is the answer that Fowler et al. provide. Java developers will find the introduction to the Junit Testing Framework the most valuable part of the book, more so than the catalog of refactorings itself.
There's more to the book than the catalog and Junit, of course. There's discussion of the history of refactoring, how to evaluate refactoring tools, and how to convince management that what appears to be an overhead activity is actually useful in the long run.
Unfortunately, these sections are all too brief. And there is no discussion of how refactoring fits in with various software development processes. For example, programmers using Extreme Programming (XP) would probably feel right at home with Fowler's recommendations of refactoring in duets and unit testing, but developers stuck with a Software Engineering Institute process like PSP categorize testing as failure time and something to be minimized if not avoided. Cleanroom developers are taught that unit testing inteferes with metrics for quality, and that verifications are what should be done. Should such developers redo verifications after each refactoring? There's no answer in this book.
An unusual chapter, called "Bad Smells in Code," gives overall motivation for the refactorings. These vague notions, such as "long methods" or "lazy classes" humorously provide a foundation for starting your own refactorings. I say "humorously" because (mostly) Beck's and Fowler's odd analogies (classes becoming too intimate and delving in each others' private parts) provoke a chuckle (as if a chapter about "bad smells" in code weren't enough).
Overall, I've enjoyed reading this book and referring to the catalog while putting my own unit tests and refactorings into practice. Fowler's writing style is smooth and fluid, and it's easy to digest the catalog in no time. The book's typesetting is crisp, the figures quite clean, and both the refactoring index and "smell" index are enormously useful.Refactoring: Improving the Design of Existing Code OverviewRefactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.

Want to learn more information about Refactoring: Improving the Design of Existing Code?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Refactoring: Ruby Edition Review

Refactoring: Ruby Edition
Average Reviews:

(More customer reviews)
Are you looking to buy Refactoring: Ruby Edition? Here is the right place to find the great deals. we can offer discounts of up to 90% on Refactoring: Ruby Edition. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Refactoring: Ruby Edition ReviewI've been reading "Refactoring, Ruby Edition" alongside the original edition, which I bought used a few months ago, not knowing that this book was in the works.
One thing I've learned is that the original is an excellent book, one that probably ranks with "Design Patterns" in practical programming literature. Second, the revising authors added some valuable new material on refactoring in a Ruby environment.
However, "Refactoring, Ruby Edition" seems in some ways to be a sloppy and poorly-edited attempt to cash in on the original. I've found errors on almost every page I've read. It looks as if someone cut and paste the text from the original into a new document, quickly converted the Java examples to Ruby (without testing or review, given some of the errors), and went to press.
My guess is that this was the idea of someone who knows that there are lots of new Ruby programmers who don't have a grounding in Java and are therefore intimidated by the original book. That idea is fine -- Russ Olsen's "Design Patterns in Ruby" seems to be a thorough and careful reworking of that book for a Ruby audience -- but the execution here is really lame. Here are some specifics:
* There are many errors in the code examples and UML diagrams that make them difficult to follow. Until you realize they're errors, you think you're missing something; that kind of thing is tough for novice programmers to identify and correct for. (Ironically, given that the name of the book is "refactoring", these errors aren't in the first edition.)
* The original edition contained illustrative anecdotes about refactoring practice that were clearly presented as call-outs with graphic design techniques like boxing and shaded backgrounds. These design hints are missing from the new edition, and the anecdotes (by other authors) interrupt the text in a confusing way, since they look like a regular part of the text-flow.
* The reader is advised to use the "table in the inside back cover" to identify and address code smells, but there is no table in the inside back cover. There is one in the original edition, however, and it's quite useful. Who knows whether the table was supposed to be included but was forgotten, or was intentionally left out to cut costs?
It seems like no one took another look at this book once the first-draft manuscript was in hand. Martin Fowler and Jay Fields have contributed an enormous amount to the industry, and I'm surprised they would put their names on something this sloppy. Addison-Wesley charges a lot for their books, and they should provide a carefully-edited product in return.Refactoring: Ruby Edition OverviewThe Definitive Refactoring Guide, Fully Revamped for Ruby With refactoring, programmers can transform even the most chaotic software into well-designed systems that are far easier to evolve and maintain. What's more, they can do it one step at a time, through a series of simple, proven steps. Now, there's an authoritative and extensively updated version of Martin Fowler's classic refactoring book that utilizes Ruby examples and idioms throughout–not code adapted from Java or any other environment.The authors introduce a detailed catalog of more than 70 proven Ruby refactorings, with specific guidance on when to apply each of them, step-by-step instructions for using them, and example code illustrating how they work. Many of the authors' refactorings use powerful Ruby-specific features, and all code samples are available for download. Leveraging Fowler's original concepts, the authors show how to perform refactoring in a controlled, efficient, incremental manner, so you methodically improve your code's structure without introducing new bugs. Whatever your role in writing or maintaining Ruby code, this book will be an indispensable resource. This book will help you• Understand the core principles of refactoring and the reasons for doing it• Recognize "bad smells" in your Ruby code• Rework bad designs into well-designed code, one step at a time• Build tests to make sure your refactorings work properly• Understand the challenges of refactoring and how they can be overcome• Compose methods to package code properly• Move features between objects to place responsibilities where they fit best • Organize data to make it easier to work with• Simplify conditional expressions and make more effective use of polymorphism• Create interfaces that are easier to understand and use • Generalize more effectively• Perform larger refactorings that transform entire software systems and may take months or years• Successfully refactor Ruby on Rails code

Want to learn more information about Refactoring: Ruby Edition?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Concepts in Programming Languages Review

Concepts in Programming Languages
Average Reviews:

(More customer reviews)
Are you looking to buy Concepts in Programming Languages? Here is the right place to find the great deals. we can offer discounts of up to 90% on Concepts in Programming Languages. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Concepts in Programming Languages ReviewI can't speak to John Mitchell's skill as a lecturer, but some of the complaints here seem to betray a misunderstanding of the purpose of the book: to serve as an introduction to programming language theory, such as can be found in Mitchell's other book *Foundations for Programming Languages*. Mitchell is taking you *out of* the marketable skills zone and into abstract computer science, and he's being pretty nice about it -- the book contains friendly precises of topics like lambda calculus and denotational semantics, which make up the formal core of programming languages. What you will learn has applications in all popular programming languages, even if it's not spelled out in the text.
ML was a good choice as an example language, because it includes many of the features a programming language might have (being both imperative and functional), and furthermore is a serious research language on account of its well-understood semantics and type system. Focusing on it to explain core concepts was not a mistake. Mitchell knows how to do it the other way, too: explanations of the basic elements of object-orientation are parceled out over several notable OO languages, providing a way to compare and contrast how the major OO concepts can be implemented. (I didn't find the final chapter, Apt's summary of Prolog, as helpful: the declarative paradigm is too far removed from what was developed in the rest of the book.)
On account of its relatively gentle explanations and the importance of its concepts for all aspects of CS, this would be a good book for a relative beginner in CS to pick up (provided they can comprehend more than just code). But if you find it too repellent, you're probably not going to be much happier with more advanced treatments: its character just reflects the nature of the field.Concepts in Programming Languages OverviewConcepts in Programming Languages elucidates the central concepts used in modern programming languages, such as functions, types, memory management, and control.The book is unique in its comprehensive presentation and comparison of major object-oriented programming languages.Separate chapters examine the history of objects, Simula and Smalltalk, and the prominent languages C++ and Java. The author presents foundational topics, such as lambda calculus and denotational semantics, in an easy-to-read, informal style, focusing on the main insights provided by these theories. Advanced topics include concurrency, concurrent object-oriented programming, program components, and inter-language interoperability.A chapter on logic programming illustrates the importance of specialized programming methods for certain kinds of problems.

Want to learn more information about Concepts in Programming Languages?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Domain-Specific Languages (Addison-Wesley Signature Series (Fowler)) Review

Domain-Specific Languages (Addison-Wesley Signature Series (Fowler))
Average Reviews:

(More customer reviews)
Are you looking to buy Domain-Specific Languages (Addison-Wesley Signature Series (Fowler))? Here is the right place to find the great deals. we can offer discounts of up to 90% on Domain-Specific Languages (Addison-Wesley Signature Series (Fowler)). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Domain-Specific Languages (Addison-Wesley Signature Series (Fowler)) ReviewI no longer write programs, I help people design systems, through sensible design and architecture, but I have never forgotten my assembler roots. The author has produced an important book, as significant as when he created the refactoring book and analysis patterns, and for the same reason.
Fowler took concepts that good professionals understand almost implicitly by working through these difficult ideas and places them in context that can be used as a communication tool. He has put a name and a face to a set of memes.
Fowlers critical examination of the importance of the semantic model and the way it needs to be constructed apart from syntax, the separation of the state machine model, and the illustrative programming ideas as exemplified by spreadsheets, provide PERSPECTIVE that is so sorely needed. He links these concepts together in a way that is vital for architects and programmers.Domain-Specific Languages (Addison-Wesley Signature Series (Fowler)) OverviewWhen carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. In Domain-Specific Languages, 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.

Want to learn more information about Domain-Specific Languages (Addison-Wesley Signature Series (Fowler))?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...