A software architect’s digest of core practices, pragmatically applied Designing effective architecture is your best strategy for managing project complexity–and improving your results. But the principles and practices of software architecting–what the authors call the “science of hard decisions”–have been evolving for cloud, mobile, and other shifts. Now fully revised and updated, this book shares the knowledge and real-world perspectives that enable you to design for success–and deliver more successful solutions. In this fully updated Second Edition, you will: Learn how only a deep understanding of domain can lead to appropriate architecture Examine domain-driven design in both theory and implementation Shift your approach to code first, model later–including multilayer architecture Capture the benefits of prioritizing software maintainability See how readability, testability, and extensibility lead to code quality Take a user experience (UX) first approach, rather than designing for data Review patterns for organizing business logic Use event sourcing and CQRS together to model complex business domains more effectively Delve inside the persistence layer, including patterns and implementation.
This book begins with you working along as Scott Guthrie builds a complete ASP.NET MVC reference application. He begins NerdDinner by using the File->New Project menu command within Visual Studio to create a new ASP.NET MVC Application. You'll then incrementally add functionality and features. Along the way you’ll cover how to create a database, build a model layer with business rule validations, implement listing/details data browsing, provide CRUD (Create, Update, Delete) data form entry support, implement efficient data paging, reuse UI using master pages and partials, secure the application using authentication and authorization, use AJAX to deliver dynamic updates and interactive map support, and implement automated unit testing. From there, the bulk of the rest of the book begins with the basic concepts around the model view controller pattern, including the little history and the state of the MVC on the web today. We'll then go into the ways that MVC is different from ASP.NET Web Forms. We'll explore the structure of a standard MVC application and see what you get out of the box. Next we dig deep into routing and see the role URLs play in your application. We'll deep dive into controllers and views and see what role the Ajax plays in your applications. The last third of the book focuses entirely on advanced techniques and extending the framework. In some places, we assume that you're somewhat familiar with ASP.NET WebForms, at least peripherally. There are a lot of ASP.NET WebForms developers out there who are interested in ASP.NET MVC so there are a number of places in this book where we contrast the two technologies. Even if you're not already an ASP.NET developer, you might still find these sections interesting for context, as well as for your own edification as ASP.NET MVC may not be the web technology that you're looking for.
Create powerful applications with .NET Standard 2.0, ASP.NET Core 2.0, and Entity Framework Core 2.0, using Visual Studio 2017 or Visual Studio Code
Author: Mark J. Price
Publisher: Packt Publishing Ltd
C# 7.1 and .NET Core 2.0 – Modern Cross-Platform Development, Third Edition is a practical guide to creating powerful cross-platform applications with C# 7 and .NET Core 2.0. About This Book Build modern, cross-platform applications with .NET Core 2.0 Get up to speed with C#, and up to date with all the latest features of C# 7.1 Start creating professional web applications with ASP.NET Core 2.0 Who This Book Is For This book is targeted towards readers who have some prior programming experience or have a science, technology, engineering, or mathematics (STEM) background, and want to gain a solid foundation with C# and to be introduced to the types of applications they could build and will work cross-platform on Windows, Linux, and macOS. What You Will Learn Build cross-platform applications using C# 7.1 and .NET Core 2.0 Explore ASP.NET Core 2.0 and learn how to create professional websites, services, and applications Improve your application's performance using multitasking Use Entity Framework Core and LINQ to query and manipulate data Master object-oriented programming with C# to increase code reuse and efficiency Familiarize yourself with cross-device app development using the Universal Windows Platform Protect and manage your files and data with encryption, streams, and serialization Get started with mobile app development using Xamarin.Forms Preview the nullable reference type feature of C# 8 In Detail C# 7.1 and .NET Core 2.0 – Modern Cross-Platform Development, Third Edition, is a practical guide to creating powerful cross-platform applications with C# 7.1 and .NET Core 2.0. It gives readers of any experience level a solid foundation in C# and .NET. The first part of the book runs you through the basics of C#, as well as debugging functions and object-oriented programming, before taking a quick tour through the latest features of C# 7.1 such as default literals, tuples, inferred tuple names, pattern matching, out variables, and more. After quickly taking you through C# and how .NET works, this book dives into the .NET Standard 2.0 class libraries, covering topics such as packaging and deploying your own libraries, and using common libraries for working with collections, performance, monitoring, serialization, files, databases, and encryption. The final section of the book demonstrates the major types of application that you can build and deploy cross-device and cross-platform. In this section, you'll learn about websites, web applications, web services, Universal Windows Platform (UWP) apps, and mobile apps. By the end of the book, you'll be armed with all the knowledge you need to build modern, cross-platform applications using C# and .NET. Style and approach This book takes a step-by-step approach and is filled with exciting projects and fascinating theory. It uses three high-impact sections to equip you with all the tools you'll need to build modern, cross-platform applications using C# and .NET Core 2.0.
This book shows you how to integrate ASP.NET Core with Angular, Bootstrap, and similar frameworks, with a bit of Nuget, continuous deployment, Bower dependencies, and Gulp build systems, including development beyond Windows on Mac and Linux.
Want to learn how to build ASP.NET Core 1.1 MVC Web Applications? Prerequisites: * C# (Intermediate level) * HTML5/CSS3 (Basic knowledge) This book is primarily aimed at developers who want to learn how to build ASP.NET Core 1.1 MVC Applications. You should be an intermediate level C# developer with some experience in HTML5 and CSS3. The book presupposes that you have a solid C# foundation since the language won't be explained in any detail. You will learn ASP.NET Core 1.1 by building two MVC applications. The first application will be built using an empty template. The goal is to get you familiar with ASP.NET Core 1.1 by adding middleware and services one piece at a time, building a basic application. Then you will build a second MVC application using a template that already contains support for MVC, Entity Framework Core, and user authentication. This application is a video course website, where users can register to gain access to video courses. If you are already familiar with MVC 5, the content in this book can get you started with ASP.NET Core 1.1 in a fast, no-fluff way. It's important to mention that this book is practical and tactical, where you will learn as you progress through the modules and build real web applications in the process. To spare you countless pages of fluff (filler material), only valuable information, pertinent to the task at hand, is discussed. The benefit is a shorter and more condensed book, which will save you time and give you a more enjoyable experience. The goal is to learn ASP.NET Core 1.1 by building two web applications, one from scratch and one from an existing template. This experience is something you can put in your CV when applying for a job or a consultant position, or when negotiating a higher salary. Technologies, frameworks and languages you will use: * ASP.NET Core 1.1 MVC (The framework that you will use) * Services (To provide you own functionality as a reusable service) * Middleware (To provide you own functionality to HTTP Request pipeline) * Entity Framework (To crate and communicate with a database) * View Component (To render data in the _Layout view with model data) * Razor syntax (To include server-side code in views) * Bootstrap (Used for styling and to create a responsive design) * LINQ (To query the database) * Dependency Injection (To inject objects into constructors) * Tag Helper (to clean up the HTML and enable re-use) * HTML Helper methods (to clean up your HTML and enable re-use) * Bower/NuGet (To install necessary front-end/back-end libraries) What you will implement: * Implement a web application from an empty template. * Implement a web application from an existing template. * Create a "real world" code-first database using Entity Framework Core. * Add and modify models, views and controllers to perform CRUD operations against the database. * Use client-side and server-side validation. * Secure the controllers, actions and view content with authorization and roles. * Styling HTML with CSS and Bootstrap. * Create a responsive website. * Register users with the site. * Manage users and their video courses. I hope you love the book! Sincerely, Jonas Fagerberg Now click the Buy button and start reading the book.
For more than 40 years, Computerworld has been the leading source of technology news and information for IT influencers worldwide. Computerworld's award-winning Web site (Computerworld.com), twice-monthly publication, focused conference series and custom research form the hub of the world's largest global IT media network.
"Dependency Injection in .NET" is a comprehensive guide that introduces DI to .NET developers. It covers core concepts and patterns, and introduces important DI frameworks, such as StructureMap, Windsor, and Spring.NET.