Microsoft .NET - Architecting Applications for the Enterprise
by Dino Esposito; Andrea Saltarello
MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework—Application Development Foundation, Second Edition
by Tony Northrup
Pro C# 2008 and the .NET 3.5 Platform, Fourth Edition
by Andrew Troelsen
Beginning ASP.NET 3.5 in C# 2008: From Novice to Professional, Second Edition
by Matthew MacDonald
Pro LINQ: Language Integrated Query in C# 2008
by Joseph C. Rattz Jr.
Programming WCF Services, 2nd Edition
by Juval Löwy
Domain-Specific Languages (DSLs)--languages geared to specific vertical or horizontal areas of interest--are generating growing excitement from software engineers and architects. DSLs bring new agility to the creation and evolution of software, allowing selected design aspects to be expressed in terms much closer to the system requirements than standard program code, significantly reducing development costs in large-scale projects and product lines. In this breakthrough book, four leading experts reveal exactly how DSLs work, and how you can make the most of them in your environment.
With Domain-Specific Development with Visual Studio DSL Tools, you'll begin by mastering DSL concepts and techniques that apply to all platforms. Next, you'll discover how to create and use DSLs with the powerful new Microsoft DSL Tools--a toolset designed by this book's authors. Learn how the DSL Tools integrate into Visual Studio--and how to define DSLs and generate Visual Designers using Visual Studio's built-in modeling technology.
In-depth coverage includes
Determining whether DSLs will work for you
Comparing DSLs with other approaches to model-driven development
Defining, tuning, and evolving DSLs: models, presentation, creation, updates, serialization, constraints, validation, and more
Creating Visual Designers for new DSLs with little or no coding
Multiplying productivity by generating application code from your models with easy-to-use text templates
Automatically generating configuration files, resources, and other artifacts
Deploying Visual Designers across the organization, quickly and easily
Customizing Visual Designers for specialized process needs
List of Figures
List of Tables
Foreword
Preface
About the Authors
Chapter 1 Domain-Specific Development
Chapter 2 Creating and Using DSLs
Chapter 3 Domain Model Definition
Chapter 4 Presentation
Chapter 5 Creation, Deletion, and Update Behavior
Chapter 6 Serialization
Chapter 7 Constraints and Validation
Chapter 8 Generating Artifacts
Chapter 9 Deploying a DSL
Chapter 10 Advanced DSL Customization
Chapter 11 Designing a DSL
Index
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 5 Ratings
Not for my taste of technical book - 2007-08-23
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
The books covers almost all of the capabilities for the DSL world, however in this approach to cover all themes, they present some important subjects in a very light way. The reader must have a previous and seriuos knowledge of DSL items and a lot of experience in Visual Studio 2005.
However some chapters (2,3,4,8 and 9) are very very good :D
THE Book for the Subject - 2007-07-27
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
There's no doubt that Microsoft has a steller team working on its DSL tools, and given their position on the DSL team, there's no better team of writers to elaborate both the underlying concepts as well as go in depth on the implementations of those technologies in the Visual Studio DSL Tools.
The more developers and architects getting familiar with DSLs and modeling, the better, and this toolset and book are the best resource I know of for learning more about the domain and getting a very useful and concrete example of the concepts as well as a tool you can use to start building your own.
Buy it. Learn it. Use it.
What not how - 2008-03-25
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I am disappointed, because the writers are the top of Microsofts engine driving domain specific languages.
The book tells what is possible using Visual Studio 2005 and the DSL tools. However it does a terrible job in explaining how and when to use the tools.
It is not a handsone book, you can't take it and work through examples and it is not an reading/theoratical book either, you can't read it while one the train to work and hope to learn anything.
Just like the book on software factories this book is elaborate and the writers are smart they are just not capable of making the information simple and interesting enough to stick into my head.
Extremely Frustrating - 2009-05-17
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I was compelled to write this review a few minutes ago while attempting to use this book. I rarely bother to write a bad review-- but I'm fired up.
It's really a fairly horrible example of the genre. The problem is that there is no other game in town for this material.
It's clear the authors know what they are about. In fact, it's fairly obvious they are all brilliant professionals, but they desperately need good editors and co-authors who specialize in presenting this type of material.
This technology is relatively new and unfortunately it seems as though the example implementations available on-line are written by the authors of this book. Terrible or absent in-code documentation is the rule. ...So I am forced to read the book to sort out HOW to do the simplest of things.
When this happens, I seem to spend 15 minutes trying to find precisely what portion of the book is applicable. It's not that the book is poorly organized on a high level. It's that actual content isn't presented in an manner that lends itself to reference.
The examples presented are almost all part of large extended examples that run through most of the book. So I inevitably feel that I am missing most of the context when I start to read. Then the information is sometimes presented in language that sounds insular and academic to me -- a developer and software architect for over 15 years.
The authors seem to have expected the readers to set aside a day or two of their life to read the book from cover to cover and somehow remember it all. It's an absurd premise for a developer's book. No developer worth their salt has that kind of time ... unless they are an academic. It's also an impossible premise because the material is dry as a bone. After reading books from the "Head First" authors, this material will make you want to claw your eyes out.
I think the worst difficulty is that I find key information on how to integrate pieces of the functionality is often ignored or thrown in as an afterthought.
As an example, I discovered I need to add validation on some data entered into my DSL. It seems like an easy thing to do, right? Shouldn't take more than 5 minutes to figure that out, right? 15 pages into the section on "Constraints and Validation" I find I understand perfectly why the authors have decided to implement this functionality using C# instead of Object Constraint Language. I understand a great deal about their architectural decisions. I can recite the topology of their belly-buttons on the day they sat down to write the functionality, but I have no idea how to hook up a !@#$ing constraint.
I had the opportunity to listen to a web presentation by one of the authors, Gareth Jones. He presented some ingeniously written code for an example implementation of the DSL tools. To my complete and utter lack of surprise, I understood almost nothing nothing that he said. I found myself zipping back and forth in the presentation trying to deduct how pieces of the code examples he gave were meant to go together.
I was grateful to find the code itself was available on-line ... with no in-line documentation of course. I spent hours understanding how it all fit together when, with some basic presentation skills, he could have given me the information in 5 minutes.
Buy it, but better to read it twice - 2009-03-24
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This is an excellent book.
As the title of the book makes it clear, this is not a book about DSL in general; it is a book about DSL tools in Visual Studio. So it does make sense to criticize the book for requiring VS 2005, as some other reviewers did.
I am glad I read the book cover to cover, and I am enjoying it more on second-reading. The topic is non-linear and certain things in a given chapter make complete sense only after you read material in later chapters. This reflects not on the quality of the book, but on the nature of what is covered. This is why I believe that, for most people, maximum value can be obtained from the book if read twice. It is very well worth it.
Some information on this page was provided using data from Amazon.com®. View at Amazon >