DSLs in Action (Paperback)

Debasish Ghosh

  • 出版商: Manning
  • 出版日期: 2011-01-07
  • 定價: $1,485
  • 售價: 9.5$1,411
  • 貴賓價: 9.0$1,337
  • 語言: 英文
  • 頁數: 376
  • 裝訂: Paperback
  • ISBN: 1935182455
  • ISBN-13: 9781935182450
  • 相關分類: 軟體架構
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

相關主題

商品描述

Your success—and sanity—are closer at hand when you work at a higher level of abstraction, allowing your attention to be on the business problem rather than the details of the programming platform. Domain Specific Languages -- “little languages” implemented on top of conventional programming languages -- give you a way to do this because they model the domain of your business problem.

DSLs in Action introduces the concepts and definitions a developer needs to build high-quality domain specific languages. It provides a solid foundation to the usage as well as implementation aspects of a DSL, focusing on the necessity of applications speaking the language of the domain. After reading this book, a programmer will be able to design APIs that make better domain models. For experienced developers, the book addresses the intricacies of domain language design without the pain of writing parsers by hand.

The book discusses DSL usage and implementations in the real world based on a suite of JVM languages like Java, Ruby, Scala, and Groovy. It contains code snippets that implement real world DSL designs and discusses the pros and cons of each implementation.

What’s Inside

Tested, real-world examples

How to find the right level of abstraction

Using language features to build internal DSLs

Designing parser/combinator-based little languages

商品描述(中文翻譯)

你的成功和理智在於在更高的抽象層次上工作,讓你的注意力放在業務問題上,而不是程式平台的細節。領域特定語言(Domain Specific Languages,DSL)是在傳統程式語言之上實現的「小語言」,它們可以讓你做到這一點,因為它們模擬了你業務問題的領域。

《DSLs in Action》介紹了開發人員建立高品質領域特定語言所需的概念和定義。它提供了使用和實現DSL的堅實基礎,專注於應用程式需要使用領域語言的必要性。閱讀本書後,程式設計師將能夠設計出更好的領域模型的API。對於有經驗的開發人員,本書討論了領域語言設計的細節,而不需要手動編寫解析器的痛苦。

本書基於Java、Ruby、Scala和Groovy等JVM語言,討論了現實世界中的DSL使用和實現。它包含了實現真實世界DSL設計的程式碼片段,並討論了每個實現的優缺點。

內容包括:
- 經過測試的真實世界範例
- 如何找到適當的抽象層次
- 使用語言特性來建立內部DSL
- 設計基於解析器/組合子的小語言