Make the right architectural decisions up front—and improve the quality and reliability of your results. Led by two enterprise programming experts, you’ll learn how to apply the patterns and techniques that help control project complexity—and make systems easier to build, support, and upgrade—right from the start.



Get pragmatic architectural guidance on how to:

  • Build testability, maintainability, and security into your system early in the design
  • Expose business logic through a service-oriented interface
  • Choose the best pattern for organizing business logic and behavior
  • Review and apply the patterns for separating the UI and presentation logic
  • Delve deep into the patterns and practices for the data access layer
  • Tackle the impedance mismatch between objects and data
  • Minimize development effort and avoid over-engineering—and deliver more robust results

  • Get code samples on the Web.


  • Modern Web Development

    by Dino Esposito

    Published 16 February 2016
    Master powerful new approaches to web architecture, design, and user experience
    This book presents a pragmatic, problem-driven, user-focused approach to planning, designing, and building dynamic web solutions. You’ll learn how to gain maximum value from Domain-Driven Design (DDD), define optimal supporting architecture, and succeed with modern UX-first design approaches. The author guides you through choosing and implementing specific technologies and addresses key user-experience topics, including mobile-friendly and responsive design. You’ll learn how to gain more value from existing Microsoft technologies such as ASP.NET MVC and SignalR by using them alongside other technologies such as Bootstrap, AJAX, JSON, and JQuery. By using these techniques and understanding the new ASP.NET Core 1.0, you can quickly build advanced web solutions that solve today’s problems and deliver an outstanding user experience.

    Microsoft MVP Dino Esposito shows you how to:
    • Plan websites and web apps to mirror real-world social and business processes
    • Use DDD to dissect and master the complexity of business domains
    • Use UX-Driven Design to reduce costs and give customers what they want
    • Realistically compare server-side and client-side web paradigms
    • Get started with the new ASP.NET Core 1.0
    • Simplify modern visual webpage construction with Bootstrap
    • Master practical, efficient techniques for running ASP.NET MVC projects
    • Consider new options for implementing persistence and working with data models
    • Understand Responsive Web Design’s pros, cons, and tradeoffs
    • Build truly mobile-friendly, mobile-optimized websites

    About This Book
    • For experienced developers and solution architects who want to plan and develop web solutions more effectively
    • Assumes basic familiarity with the Microsoft web development stack

    The complete, pragmatic guide to building high-value solutions with ASP.NET Core

    Programming ASP.NET Core is the definitive guide to practical web-based application development with Microsoft’s new ASP.NET Core framework. Microsoft MVP Dino Esposito introduces proven techniques and well-crafted example code for solving real problems with ASP.NET Core. Step by step, he guides you through using all key ASP.NET Core technologies, including MVC for HTML generation, .NET Core, EF Core, ASP.NET Identity, dependency injection, and much more. Esposito thoroughly covers ASP.NET Core’s cross-platform capabilities and what’s changed from older ASP.NET versions, but he doesn’t stop there: he offers a complete learning path for every developer who wants to build production solutions, including mobile-specific solutions.

    Microsoft MVP Dino Esposito shows how to:

    • Create new projects and understand their structure

    • Set up and use the familiar MVC application model in ASP.NET Core

    • Write controller class code to govern all stages of request processing

    • Serve HTML from controllers, or directly via Razor Pages

    • Master the Razor language for quickly defining the layout of HTML views

    • Manage cross-cutting concerns such as global configuration data, error and exception handling, controller class design, and dependency injection

    • Secure applications with user authentication and ASP.NET Core’s policy-based user authorization API

    • Design for efficient data access, and choose the right option for reading and writing data

    • Build ASP.NET Core Web APIs that return JSON, XML, or other data

    • Use data binding to programmatically update visual components with fresh information

    • Build device-friendly web views for iOS and Android

    • Explore the radically new ASP.NET Core runtime environment and Dependency Injection (DI) infrastructure


    Delve into the features, principles, and pillars of the ASP.NET MVC framework - deftly guided by Web development luminary Dino Esposito. ASP.NET MVC forces developers to think in terms of distinct components - model, view, controller - that make it easier to manage application complexity. Plunge into the framework's internal mechanics and gain a practical, what-why-how perspective behind each ASP.NET MVC building block. You'll understand how and when to use this programming model as an alternative to Web Forms - to gain full control of HTML, simplify testing and extensibility, and design better Web sites and experiences. As always, Esposito provides the detailed, insightful guidance and illustrative code samples you need to get productive quickly.

    Microsoft ASP.NET and AJAX

    by Dino Esposito

    Published 15 April 2009

    Rethink the way you plan, design, and build Web applications—with expert guidance from Web development luminary Dino Esposito. Whether giving legacy sites a much-needed tune-up—or architecting rich Internet applications from the ground up—you’ll learn pragmatic approaches to AJAX development that you can employ today.

    Discover how to:

    • Delve into the mechanics and design goals of partial rendering—such as improving page-refresh speed
    • Use AJAX-enabled server controls to bring desktop-like functionality to Web solutions
    • Apply design patterns to common Web development issues, including client-side data binding
    • Manipulate JavaScript more easily using the jQuery and Microsoft AJAX libraries
    • Examine the interoperability and security models in Microsoft Silverlight
    • Weigh the tradeoffs when architecting Web applications for richness (Silverlight) vs. reach (AJAX)—and deliver the right solution for your audience

    Your guide to planning and executing a complete mobile web strategy

    Revisit your approach to the mobile web-and deliver effective solutions that reach customers and clients on a variety of mobile devices. In this practical guide, web development luminary Dino Esposito shows you how to develop a solid mobile strategy for the enterprise, starting with an effective mobile website. You'll receive essential architectural and implementation guidance, as well as mobile-specific design patterns for building cross-platform and native applications.

    Discover how to:

    Architect a website accessible from many different mobile devices Implement design patterns specific to mobile app development Examine tools that enable you to write one codebase for many platforms Use technologies for building Windows Phone, iPhone, and Android apps Develop cross-platform app features, such as localization and offline behavior

    Make the right architectural decisions up front—and improve the quality and reliability of your results. Led by two enterprise programming experts, you’ll learn how to apply the patterns and techniques that help control project complexity—and make systems easier to build, support, and upgrade—right from the start.





    Get pragmatic architectural guidance on how to:


    Build testability, maintainability, and security into your system early in the design

    Expose business logic through a service-oriented interface

    Choose the best pattern for organizing business logic and behavior

    Review and apply the patterns for separating the UI and presentation logic

    Delve deep into the patterns and practices for the data access layer

    Tackle the impedance mismatch between objects and data

    Minimize development effort and avoid over-engineering—and deliver more robust results


    Get code samples on the Web.


    Master machine learning concepts and develop real-world solutions

    Machine learning offers immense opportunities, and Introducing Machine Learning delivers practical knowledge to make the most of them. Dino and Francesco Esposito start with a quick overview of the foundations of artificial intelligence and the basic steps of any machine learning project. Next, they introduce Microsoft’s powerful ML.NET library, including capabilities for data processing, training, and evaluation. They present families of algorithms that can be trained to solve real-life problems, as well as deep learning techniques utilizing neural networks. The authors conclude by introducing valuable runtime services available through the Azure cloud platform and consider the long-term business vision for machine learning.

    · 14-time Microsoft MVP Dino Esposito and Francesco Esposito help you

    · Explore what’s known about how humans learn and how intelligent software is built

    · Discover which problems machine learning can address

    · Understand the machine learning pipeline: the steps leading to a deliverable model

    · Use AutoML to automatically select the best pipeline for any problem and dataset

    · Master ML.NET, implement its pipeline, and apply its tasks and algorithms

    · Explore the mathematical foundations of machine learning

    · Make predictions, improve decision-making, and apply probabilistic methods

    · Group data via classification and clustering

    · Learn the fundamentals of deep learning, including neural network design

    · Leverage AI cloud services to build better real-world solutions faster

    About This Book

    · For professionals who want to build machine learning applications: both developers who need data science skills and data scientists who need relevant programming skills

    · Includes examples of machine learning coding scenarios built using the ML.NET library


    Use LLMs to build better business software applications

    Autonomously communicate with users and optimize business tasks with applications built to make the interaction between humans and computers smooth and natural. Artificial Intelligence expert Francesco Esposito illustrates several scenarios for which a LLM is effective: crafting sophisticated business solutions, shortening the gap between humans and software-equipped machines, and building powerful reasoning engines. Insight into prompting and conversational programming—with specific techniques for patterns and frameworks—unlock how natural language can also lead to a new, advanced approach to coding. Concrete end-to-end demonstrations (featuring Python and ASP.NET Core) showcase versatile patterns of interaction between existing processes, APIs, data, and human input. 

    Artificial Intelligence expert Francesco Esposito helps you:

    • Understand the history of large language models and conversational programming
    • Apply prompting as a new way of coding
    • Learn core prompting techniques and fundamental use-cases
    • Engineer advanced prompts, including connecting LLMs to data and function calling to build reasoning engines
    • Use natural language in code to define workflows and orchestrate existing APIs
    • Master external LLM frameworks
    • Evaluate responsible AI security, privacy, and accuracy concerns
    • Explore the AI regulatory landscape
    • Build and implement a personal assistant
    • Apply a retrieval augmented generation (RAG) pattern to formulate responses based on a knowledge base
    • Construct a conversational user interface

    For IT Professionals and Consultants

    • For software professionals, architects, lead developers, programmers, and Machine Learning enthusiasts
    • For anyone else interested in natural language processing or real-world
      applications of human-like language in software