В учебном пособии рассматриваются существующие принципы разработки программных продуктов, такие как SOLID, а также порождающие, структурные и поведенческие паттерны проектирования GoF. Приводятся сильные и слабые стороны существующих методологий разработки программного обеспечения. Учебное пособие соответствует актуальным требованиям федерального государственного образовательного стандарта высшего образования. Учебное пособие адресовано студентам высших учебных заведений, обучающимся по направлениям 09.03.01 «Информатика и вычислительная техника» и 09.03.04 «Программная инженерия».
Write sophisticated C# code with this complete guide to using diverse data structures and algorithms, featuring ready-to-use code snippets, detailed explanations, and illustrations
Building your own applications is exciting but challenging, especially when tackling complex problems tied to advanced data structures and algorithms. This endeavor demands profound knowledge of the programming language as well as data structures and algorithms - precisely what this book offers to C# developers.
Starting with an introduction to algorithms, this book gradually immerses you in the world of arrays, lists, stacks, queues, dictionaries, and sets. Real-world examples, enriched with code snippets and illustrations, provide a practical understanding of these concepts. You'll also learn how to sort arrays using various algorithms, setting a solid foundation for your programming expertise. As you progress through the book, you'll venture into more complex data structures - trees and graphs - and discover algorithms for tasks such as determining the shortest path in a graph before advancing to see various algorithms in action, such as solving Sudoku.
By the end of the book, you'll have learned how to use the C# language to build algorithmic components that are not only easy to understand and debug but also seamlessly applicable in various applications, spanning web and mobile platforms.
This book is for developers looking to learn data structures and algorithms in C#. While basic programming skills and C# knowledge is useful, beginners will find value in the provided code snippets, illustrations, and detailed explanations, enhancing their programming skills. Advanced developers can use this book as a valuable resource for reusable code snippets, instead of writing algorithms from scratch each time.
The Comprehensive, Expert Guide to C# 12.0 for Programmers at All Levels
Updated for the Microsoft C# 12.0 Long Term Support (LTS) release, Essential C# 12.0 is a well-organized, no-fluff C# guide, suitable for every programmer. Building on the proven, high-value content of previous editions, world-class C# expert Mark Michaelis illuminates key enhancements in C# 12.0, including any-type aliases, inline arrays, default lambda expression parameters, and expanded support for primary constructors.
Michaelis presents a comprehensive tutorial and reference for the entire C# language, helping you accelerate your journey to expert-level C# programmer. Succinct examples illustrate core constructs, and modern coding guidelines help you minimize bugs and write code that's easier to evolve. To help you quickly find what you need and maintain compatibility, the book includes version-specific icons and notes identifying when each innovation was introduced.
Книга посвящена программированию векторной графики. Описываются основные методы графических классов и приводятся примеры их использования, рассматриваются аффинные преобразования на плоскости и в трехмерном пространстве и различные виды проецирования. Приводится обзор различных моделей трехмерных тел. Одна из них посвящена сложной теме – бинарным операциям над множествами. Описан лучевой алгоритм определения принадлежности точки многоугольнику и многограннику. Описывается библиотека OpenGL и ее основные команды. Приводятся простые примеры 2D графики. Книга предназначена для студентов, обучающихся по направлениям группы «Информатика и вычислительная техника», «Информационная безопасность», «Электроника, радиотехника и системы связи» среднего профессионального образования, а также учащихся старших классов и лиц, самостоятельно изучающих языки программирования.
When you have questions about C# 12 or .NET 8, this best-selling guide has the answers you need. C# is a language of unusual flexibility and breadth, and with its continual growth, there's always so much more to learn. In the tradition of O'Reilly's Nutshell guides, this thoroughly updated edition is simply the best one-volume reference to the C# language available today.
Aimed at intermediate and advanced programmers, this is a book whose explanations get straight to the point, covering C#, the CLR, and the core .NET libraries in depth without long intros or bloated samples.
Software projects start as brand-new greenfield projects, but invariably become muddied in technical debt far sooner than you’d expect. In Refactoring with C#, you'll explore what technical debt is and how it arises before walking through the process of safely refactoring C# code using modern tooling in Visual Studio and more recent C# language features using C# 12 and .NET 8. This book will guide you through the process of refactoring safely through advanced unit testing with XUnit and libraries like Moq, Snapper, and Scientist .NET. You'll explore maintainable code through SOLID principles and defensive coding techniques made possible in newer versions of C#. You'll also find out how to run code analysis and write custom Roslyn analyzers to detect and resolve issues unique to your code.
The nature of coding is changing, and you'll explore how to use AI with the GitHub Copilot Chat to refactor, test, document, and generate code before ending with a discussion about communicating technical debt to leadership and getting organizational buy-in to refactor your code in enterprise organizations and in agile teams.
By the end of this book, you'll understand the nature of refactoring and see how you can safely, effectively, and repeatably pay down the technical debt in your application while adding value to your business.
This book is for any developer familiar with C# who wants to improve the code they work with on a day-to-day basis. While this book will be most beneficial to new developers with only a year or two of experience, even senior engineers and engineering managers can make the most of this book by exploring not just the process of refactoring, but advanced techniques with libraries like Moq, Snapper, Scientist .NET, and writing custom Roslyn analyzers.
This latest edition of the bestselling Packt series will give you a solid foundation to start building projects using modern C# and .NET with confidence.
You'll learn about object-oriented programming; writing, testing, and debugging functions; and implementing interfaces. You'll take on .NET APIs for managing and querying data, working with the fi lesystem, and serialization. As you progress, you'll explore examples of cross-platform projects you can build and deploy, such as websites and services using ASP.NET Core.
This latest edition integrates .NET 8 enhancements into its examples: type aliasing and primary constructors for concise and expressive code. You'll handle errors robustly through the new built-in guard clauses and explore a simplified implementation of caching in ASP.NET Core 8.
If that's not enough, you'll also see how native ahead-of-time (AOT) compiler publish lets web services reduce memory use and run faster. You'll work with the seamless new HTTP editor in Visual Studio 2022 to enhance the testing and debugging process. You'll even get introduced to Blazor Full Stack with its new unified hosting model for unparalleled web development flexibility.
This book is for beginners as well as intermediate-level C# and .NET programmers who have worked with C# in the past and want to catch up with the changes made in the last few years.
Prior exposure to C# or .NET is not a prerequisite. A general understanding of programming will help you to work through the book more comfortably, though the content is suitable for those completely new to programming.
If you already have some C# and .NET skills and want to focus on developing practical apps, you can pick up Mark’s other .NET book, Apps and Services with .NET 8, instead.
WinUI 3 takes a whole new approach to delivering Windows UI components and controls and has the ability to deliver the same features across multiple versions of Windows. Learn WinUI 3 is a comprehensive introduction to WinUI and Windows apps for anyone who is new to WinUI and XAML applications.
This updated second edition begins by helping you get to grips with the latest features in WinUI and shows you how XAML is used in UI development. The next set of chapters will help you set up a new Visual Studio environment, develop a new desktop project, incorporate the Model-View-ViewModel (MVVM) pattern in a WinUI project, and develop unit tests for ViewModel commands. Next, you’ll cover the basics of data access from WinUI projects with a step-by-step approach. As you advance, you’ll discover how to leverage the Fluent Design System to design beautiful WinUI applications. You’ll also explore the contents and capabilities of the Windows Community Toolkit and learn how to create cross-platform apps with markup and code from your project using Uno Platform. The concluding chapters will teach you how to build, debug, and deploy apps to the Microsoft Store.
By the end of this book, you’ll have learned how to build WinUI applications from scratch and how to modernize existing desktop apps using WinUI 3 and the Windows App SDK.
This book is for anyone looking to develop applications for Windows with a modern UI. If you’re familiar with Windows desktop app development and want to enhance your knowledge of the latest Windows development techniques, this book is for you. Whether you're starting a new project or planning to modernize your existing Windows apps, this book will provide you with guidance. Hands-on experience with C# and .NET is expected, but no prior knowledge of WinUI or the Windows App SDK is required.
Первая часть самоучителя по C#, написанного известным российским автором учебников по программированию Алексеем Васильевым. В этой книге автор приглашает читателей ознакомиться с основами языка C#. Прочитав ее, вы узнаете историю языка, его структуру, ознакомитесь с типами данных и переменными, операторами, циклами и множеством другой полезной информации, необходимой для работы с этим языком. Книга содержит множество примеров и подробный разбор каждого из них, а также задания для самостоятельной работы.
Книга посвящена алгоритмам обработки различных внутренних структур данных — массивов, множеств, деревьев и графов. Кроме того, в отдельной главе дано описание имеющихся в языке C# средств работы с внешними структурами данных — файлами. Описаны основные классы, реализующие методы обработки текстовых и бинарных файлов, организация записи и чтения файлов в режимах последовательного и прямого доступа. На примере алгоритмов сортировки массивов обсуждаются способы оценки эффективности алгоритмов, используемые для их сравнения. Текст содержит большое количество примеров программного кода, способствующих усвоению материала.Соответствует современным требованиям Федерального государственного образовательного стандарта среднего профессионального образования и профессиональным квалификационным требованиям.Книга предназначена для студентов, обучающихся по направлениям групп специальностей «Информатика и вычислительная техника», «Информационная безопасность», «Электроника, радиотехника и системы связи» среднего профессионального образования, а также учащихся старших классов и лиц, самостоятельно изучающих языки программирования.К книге прилагаются дополнительные материалы, доступные в электронной библиотечной системе «Лань» по ссылке или QR-коду, указанным ниже.
Thanks to concise, easy-to-read code that supports asynchronous, parallel processing, aspects of functional programming have begun to appear in some traditionally object-oriented languages such as C# and Java. This practical book shows C# programmers how to use the features of functional programming without having to learn a completely new language.
Due to the common runtime environment common to the C# and F# languages, most of the functionality of F# can be used in C#. The author explains how you can immediately write functional code in C#, without installing dependencies or functions newer than .NET 3. You will learn why functional programming concepts can bring immediate benefits to your work.
Traditionally associated with developing Windows desktop applications and games, C# is now used in a wide variety of domains, such as web and cloud apps, and has become increasingly popular for mobile development. Despite its extensive coding features, professionals experience problems related to efficiency, scalability, and maintainability because of bad code. Clean Code in C# will help you identify these problems and solve them using coding best practices.
The book starts with a comparison of good and bad code, helping you understand the importance of coding standards, principles, and methodologies. You'll then get to grips with code reviews and their role in improving your code while ensuring that you adhere to industry-recognized coding standards. This C# book covers unit testing, delves into test-driven development, and addresses cross-cutting concerns. You'll explore good programming practices for objects, data structures, exception handling, and other aspects of writing C# computer programs. Once you've studied API design and discovered tools for improving code quality, you'll look at examples of bad code and understand which coding practices you should avoid.
By the end of this clean code book, you'll have the developed skills you need in order to apply industry-approved coding practices to write clean, readable, extendable, and maintainable C# code.
This coding book is for C# developers, team leads, senior software engineers, and software architects who want to improve the efficiency of their legacy systems. A strong understanding of C# programming is required.
This comprehensive book serves as a pass to understanding the basic principles and best practices of implementing OOP using the C# programming language. Embark on an exciting journey exploring the fundamental concepts of algorithms, data structures and their complex relationship with OOP.
With a deep and practical approach, the book guides readers through a hands-on learning experience. From binary trees, hash tables, and sorting algorithms to dynamic programming and heuristic algorithms, this book offers detailed explanations, code examples, and real-world applications to consolidate understanding of complex concepts.
Unity is a well-established player in the mobile game development sphere, and its new release, Unity 2022, is packed with new, exciting features. In Unity 2022 Mobile Game Development, the third edition in this popular series, you'll get to grips with the Unity game engine by building a mobile game and publishing it on the most popular mobile app stores as well as exploring the all-new features.
This book provides a comprehensive and practical approach to mobile game development, helping you build an endless runner game. Starting with setting up a simple Unity project for mobile development, you’ll delve into various essential aspects needed to successfully create and publish your game. You’ll acquire a range of skills, such as incorporating touch gestures, monetizing your game with Unity Ads and in-app purchases, designing an intuitive UI, and seamlessly integrating social media functionalities. Additionally, you’ll gain valuable insights into player preferences and behavior using Unity's analytics tools. You’ll also explore features of augmented reality in Unity 2022, enhancing your game's appeal.
By the end of this book, you’ll be well-equipped to reap the power of Unity 2022 to build, optimize, and publish robust cross-platform mobile games with C#, as well as widening your skill set and enhancing your credentials as a game developer.
If you are a game developer or mobile developer looking to learn Unity and employ it to build mobile games for iOS and Android, then this Unity book is for you. Prior knowledge of C# and Unity will be beneficial but isn’t mandatory.
Building enterprise applications is a complex task that requires a comprehensive understanding of the latest technologies and programming languages. C# and .NET are powerful tools that have become increasingly popular in enterprise development.
This book will help you build enterprise-grade applications with C# and .NET. It covers a wide range of topics, including the basics of C# programming, advanced concepts such as object-oriented programming, and the use of the .NET platform for building robust and scalable applications. You will also explore the best practices and design patterns for building enterprise applications.
By the end of the book, you will be able to create a full enterprise application by applying all the given concepts across the entire book, including TDD, database access, security, authentication, modern architecture, and the new features of C#.
● Create Asp.Net Core web applications based on Razor pages.
● Build cross-platform desktop and mobile apps using .NET.
● Learn how to integrate your .NET app with the most important features of Azure.
● Using multiple databases in ASP.NET Core via Entity Framework Core.
● Explore different Architectural patterns in .NET.
This book is for developers who are new to C# and .NET and want to build enterprise applications. This is also for experienced developers who want to expand their knowledge of these technologies and improve their skills in building robust and reliable applications.
Design system solutions using modern architectural patterns and practices. This book discusses methods to keep a system responsive, even when it is being constantly updated, extending a system's functionality without changing the core code, methods of maintaining data history, and designing a distributed transactional system.
This book will guide you in understanding how a software solution is designed using different architectural processes and scenarios. Each scenario explains if and why a software solution is required to resolve a given issue, and discusses possible architectural approaches to solve the problem. You will learn specific implementations of software architecture for each case along with different approaches to achieve the solutions. Each chapter is structured as a real-world requirement from a client and describes a process to meet that requirement.
After reading this book, you should have a high-level understanding of the architectural patterns used in the book, and you should have a methodology for approaching system design.
Developers who wish to move into architecture, and junior software architects also will find the book useful.
C# is a powerful, versatile language that can unlock a variety of career paths. But, as with any programming language, learning C# can be a challenging process. With a wide range of different resources available, it's difficult to know where to start.
That's where The C# Workshop comes in. Written and reviewed by industry experts, it provides a fast-paced, supportive learning experience that will quickly get you writing C# code and building applications. Unlike other software development books that focus on dry, technical explanations of the underlying theory, this Workshop cuts through the noise and uses engaging examples to help you understand how each concept is applied in the real world.
As you work through the book, you'll tackle realistic exercises that simulate the type of problems that software developers work on every day. These mini-projects include building a random-number guessing game, using the publisher-subscriber model to design a web file downloader, creating a to-do list using Razor Pages, generating images from the Fibonacci sequence using async/await tasks, and developing a temperature unit conversion app which you will then deploy to a production server.
By the end of this book, you'll have the knowledge, skills, and confidence to advance your career and tackle your own ambitious projects with C#.
This book is for aspiring C# developers. It is recommended that you already have a basic understanding of core programming concepts before you start. Prior experience of another programming language would be beneficial, though it is not absolutely necessary.
Implement design patterns in .NET 6 using the latest versions of the C# and F# languages. This book provides a comprehensive overview of the field of design patterns as they are used in today’s developer toolbox. In addition to the functional builder, asynchronous factory method, generic value adapter, and composite proxies, this new edition introduces topics such as Decorator Cycle Policies Functional Commands, a Transformer variation of the Visitor pattern, and factories that can perform Object Tracking and Bulk Replacement.
Using the C# and F# programming languages, Design Patterns in .NET 6 explores the classic design pattern implementations and discusses the applicability and relevance of specific language features for implementing patterns. You will learn by example, reviewing scenarios where patterns are applicable. Former C# MVP and patterns expert Dmitri Nesteruk demonstrates possible implementations of patterns, discusses alternatives and pattern relationships, and illustrates the way that a dedicated refactoring tool (JetBrains Rider) can be used to implement design patterns with ease.
Developers who have some experience in the C# language and want to expand their comprehension of the art of programming by leveraging design approaches to solve modern problems.
На основе последних версий языка программирования C# и платформы .NET Framework изложены основные концепции и механизмы современного программирования. Методика изложения и тщательно отобранные примеры позволяют освоить не только синтаксис и семантику языка C#, но и изучить фундаментальные принципы процедурного, объектного, объектно-ориентированного и обобщенного программирования. Контрольные вопросы позволяют читателю использовать книгу для самообразования. Предлагаемая к опубликованию рукопись учебника готовится на основе программы учебной дисциплины «Программирование» для направления подготовки бакалавров «Программная инженерия». Соответствует актуальным требованиям Федерального государственного образовательного стандарта высшего образования. Книга предназначена для студентов, обучающихся по специальностям, связанных с IT-технологиями, а также для программистов, желающих освоить программирование на C# и освоить перспективные средства платформы .NET Framework.
Selenium, a web browser automation tool that has been around for a long time, is extensively utilized by developers and testers to generate automated tests for verifying the proper functioning of web applications. When combined with C#, Selenium can produce automated tests that are both robust and efficient.
This book is a comprehensive guide to learning Selenium, one of the most popular web automation tools in the industry. It starts with an introduction to Selenium and its three projects - Selenium IDE, Selenium WebDriver, and Selenium Grid. It then provides a comprehensive overview of the various entities in the Selenium C# client libraries, such as the WebDriver, WebElement, and By classes. The subsequent sections of the book elucidate how to handle different HTML elements, including forms, tables, dropdowns, windows, alerts, and frames. The book also explores the Option class, which is utilized for managing web browsers. In addition, the book emphasizes the significance of unit testing in test automation and explains how to implement the NUnit framework. To manage object information, the book delves into the Page Object model design pattern. Lastly, the book will help you set up and execute tests in parallel across various environments using Selenium Grid.
By the end, you will be able to create automated tests for web applications with ease.
● Perform Cross-browser testing using Selenium WebDriver.
● Implement Synchronization using Implicit and Explicit wait.
● Learn how to handle the Action class in Selenium.
● Learn how to implement the Page Object Model using PageFactory.
● Setup and use Selenium Grid to execute tests in parallel.
This book is for Test automation engineers, software testers, and software developers who are interested in learning about test automation using Selenium and C#.
Expand your expertise―and teach yourself the fundamentals of programming the latest version of Visual C# with Visual Studio 2022. This book provides software developers all the guidance, exercises, and code needed to start building responsive, scalable, cloud-connected applications that can run almost anywhere.
Discover how to:
Look sharp―learn or refresh your C# skills with the latest version
C# is one of the most popular programming languages, and frequent updates help it keep pace as the world of coding changes. You can keep pace too, thanks to C# 10.0 All-in-One For Dummies, where you'll learn the basics of the language itself, how to code in Visual Studio, and how to take advantage of the new features in the latest release. At every stage of your career, you'll need to know the cutting-edge trends and techniques that clients want. This book has your back, with info on object-oriented programming, writing secure code, building web applications, and more.
The six standalone mini-books you'll find inside this all-in-one will take you through the changes to C# and the practical applications and dev tools that you need to know. New features covered include records, init only setters, top-level statements, pattern matching enhancements, fit and finish features, and a lot more. Plus, this version is packed with more examples and code snippets, so you can sharply see C# in action!
You need an easy-to-read C# guide that will help you understand the incoming updates, and this For Dummies reference is it.
Данный справочник содержит ключевую информацию о С# в удобной и наглядной форме. Структура справочника позволяет быстро и легко находить нужную информацию, получать примеры использования тех или иных элементов и конструкций С#.
Рассмотрены основы синтаксиса С# и первые программы на С#. Отдельное внимание уделено внимание таким темам, как: интерфейсы, структуры и перечисления; обработка исключений; коллекции и итераторы; объектно-ориентированное программирование на С#; работа с датой и временем и файловый ввод/вывод.
Справочник будет полезен всем, кто использует или изучает С#: от начинающих до профессионалов.
The revised and updated second edition of Essential Algorithms, offers an accessible introduction to computer algorithms. The book contains a description of important classical algorithms and explains when each is appropriate. The author shows how to analyze algorithms in order to understand their behavior and teaches techniques that the can be used to create new algorithms to meet future needs. The text includes useful algorithms such as: methods for manipulating common data structures, advanced data structures, network algorithms, and numerical algorithms. It also offers a variety of general problem-solving techniques.
In addition to describing algorithms and approaches, the author offers details on how to analyze the performance of algorithms. The book is filled with exercises that can be used to explore ways to modify the algorithms in order to apply them to new situations. This updated edition of Essential Algorithms:
Essential Algorithms has been updated and revised and offers professionals and students a hands-on guide to analyzing algorithms as well as the techniques and applications. The book also includes a collection of questions that may appear in a job interview. The book's website will include reference implementations in Python and C# (which can be easily applied to Java and C++).