En 1187, le jour de son mariage, devant la noce scandalisée, la jeune Esclarmonde refuse de dire «oui» : elle veut faire respecter son vou de s´offrir a Dieu, contre la décision de son pere, le châtelain régnant sur le domaine des Murmures. La jeune femme est emmurée dans une cellule attenante a la chapelle du château, avec pour seule ouverture sur le monde une fenestrelle pourvue de barreaux. Mais elle ne se doute pas de ce qui est entré avec elle dans sa tombe... Loin de gagner la solitude a laquelle elle aspirait, Esclarmonde se retrouve au carrefour des vivants et des morts. Depuis son réduit, elle soufflera sa volonté sur le fief de son pere et ce souffle l´entraînera jusqu´en Terre sainte. Carole Martinez donne ici libre cours a la puissance poétique de son imagination et nous fait vivre une expérience a la fois mystique et charnelle, a la lisiere du songe. Elle nous emporte dans son univers si singulier, reveur et cruel, plein d´une sensualité prenante.
The superb new psychological thriller from ´Queen of Crime´ Val McDermid fuses her trademark plot twists and characterization with one of the most important events in recent UK history - the 1984 Miners´ Strike. Twenty-five years ago, the daughter of Scotland´s richest man and her baby son were kidnapped and held to ransom. But Catriona Grant ended up dead and little Adam´s fate is still unknown. Where did he really go? And is there a link to the Grant mystery? The truth is stranger - and far darker - than fiction.
´´Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. ´´His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. ´´The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers-it is a future classic.´´ - Ralph Johnson , author of Design Patterns ´´If you don´t think you are getting value from your investment in object-oriented programming, this book will tell you what you´ve forgotten to do. ´´Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion.´´ - Dave Collins , author of Designing Object-Oriented User Interfaces ´´Eric weaves real-world experience modeling-and building-business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric´s descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field.´´ - Luke Hohmann , author of Beyond Software Architecture This book belongs on the shelf of every thoughtful software developer. --Kent Beck What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We´ve given away bits and pieces of this knowledge...but we´ve never organized and systematized the principles of building domain logic. This book is important. --Kyle Brown, author of Enterprise Java(TM) Programming with IBM® WebSphere® 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-Dr
Key Features: * Illustrates idioms and best practices * Starts with Functional Programming basics * Progresses to advanced concepts and patterns * Offers radically different techniques from the standard RDBMS AUDIENCE Written for developers and architects comfortable with the basic ideas of functional programming and traditional domain modeling. No prior exposure to Akka or reactive application design is expected.
Designed as a wide-ranging guide to Domain Specific Languages (DSLs) and how to approach building them, this book covers a variety of different techniques available for DSLs. The goal is to provide readers with enough information to make an informed choice about whether or not to use a DSL and what kinds of DSL techniques to employ. Part I is a 150-page narrative overview that gives you a broad understanding of general principles. The reference material in Parts II through VI provides the details and examples you´ll need to get started using the various techniques discussed. Both internal and external DSL topics are covered, in addition to alternative computational models and code generation. Although the general principles and patterns presented can be used with whatever programming language you happen to be using, most of the examples are in Java or C#. Product 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 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. 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 Backcover Designed as a wide-ranging guide to Domain Specific Languages (DSLs) and how to approach building them, this book covers a variety of different techniques available for DSLs. The goal is to provide readers with enough information to make an informed choice about whether or not to use a DSL and what kinds of DSL techniques to employ. Part I is a 150-page narrative overview that gives you a broad understanding of general principles. The reference material in Parts II through VI provides the details and examples you will need to get started using the various techniques discussed. Both internal and external DSL topics are covered, in addition to alternative computational models and code generation. Although the general principles and patterns presented can be used with whatever programming language you happen to be using, most of the examples are in Java or C#. Preface xix Part I: Narratives 1 Chapter 1: An Introductory Example 3 Gothic Security 3 The State Machine Model 5 Programming Miss Grant´s Controller 9 Languages and Semantic Model 16 Using Code Generation 19 Using Language Workbenches 22 Visualization 24 Chapter 2: Using Domain-Specific Languages 27 Defining Domain-Specific Languages 27 Why Use a DSL? 33 Problems with DSLs 36 Wider Language Processing 39 DSL Lifecycle 40 What Makes a Good DSL Design? 42 Chapter 3: Implementing DSLs 43 Architecture of DSL Processing 43 The Workings of a Parser 47 Grammars, Syntax, and Semantics 49 Parsing Data 50 Macros 52 Chapter 4: Implementing an Internal DSL 67 Fluent and Command-Query APIs 68 The Need for a Parsing Layer 71 Using Functions 72 Literal Collections 77 Using Grammars to Choose Internal Elements 79 Closures 80 Parse Tree Manipulation 82 Annotation 84 Literal Extension 85 Reducing the Syntactic Noise 85 Dynamic Reception 86 Providing Some Type Checking 87 Chapter 5: Implementing an External DSL 89 Syntactic Analysis Strategy 89 Output Production Strategy 92 Parsing Concepts 94 Mixing-in Another Language 100 XML DSLs 101 Chapter 6: Choosing between Internal and External DSLs 105 Learning Curve 105 Cost of Building 106 Programmer Familiarity 107
Domain-Driven Design (DDD) software modeling delivers powerful results in practice, not just in theory, which is why developers worldwide are rapidly moving to adopt it. Now, for the first time, there´s an accessible guide to the basics of DDD: What it is, what problems it solves, how it works, and how to quickly gain value from it. Concise, readable, and actionable, Domain-Driven Design Distilled never buries you in detail-it focuses on what you need to know to get results. Vaughn Vernon, author of the best-selling Implementing Domain-Driven Design, draws on his twenty years of experience applying DDD principles to real-world situations. He is uniquely well-qualified to demystify its complexities, illuminate its subtleties, and help you solve the problems you might encounter. Vernon guides you through each core DDD technique for building better software. You´ll learn how to segregate domain models using the powerful Bounded Contexts pattern, to develop a Ubiquitous Language within an explicitly bounded context, and to help domain experts and developers work together to create that language. Vernon shows how to use Subdomains to handle legacy systems and to integrate multiple Bounded Contexts to define both team relationships and technical mechanisms. Domain-Driven Design Distilled brings DDD to life.
Succeed with Domain-Driven Design (DDD), today´s best-practice framework and common language for making design decisions that accelerate projects, keeping them on track while smoothly incorporating inevitable change. Vaughn Vernon´s Implementing Domain-Driven Design builds on Eric Evans´ seminal Domain-Driven Design , helping practitioners flatten the DDD learning curve, identify their best opportunities to apply DDD, and overcome common implementation pitfalls. Vernon presents concrete and realistic DDD techniques through examples from familiar domains, such as a Scrum-based project management application that integrates with a collaboration suite and security provider. Each principle is backed up by realistic Java examples, and all content is tied together by a single case study of a company charged with delivering a set of advanced software systems with DDD. Using this book´s techniques, organizations can reduce time-to-market and build better software that is more flexible, more scalable, and better aligned to business goals. For software practitioners who are new to DDD, for those who´ve used DDD but not yet succeeded; and for DDD users who have experienced success and want to become even more effective. Readers will likely include software architects, systems anaysts, application developers, and project managers.