Home Page Icon
Home Page
Table of Contents for
Copyright and Credits
Close
Copyright and Credits
by Raihan Taher
Hands-On Object-Oriented Programming with C#
Title Page
Copyright and Credits
Hands-On Object-Oriented Programming with C#
About Packt
Why subscribe?
Packt.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Overview of C# as a Language
Evolution of C#
Managed code
Generics
LINQ
Dynamics
Async/Await
Compiler as a service
Exception filters
C# 8 and beyond
Architecture of .NET
Common Language Runtime
Common Type System
.NET framework class libraries
Just-in-time compiler
Fundamentals and syntax of C# language
Data types
Nullable types
Literals
Boolean
Integer
Real
Character
String
Programming syntax - conditions
If-else construct
Switch-case construct
goto statements
Programming syntax - loops
While construct
Do-while construct
For construct
Foreach construct
Contextual - break and continue statements
Break
Continue
Writing your first C# program in a console application
Visual Studio as an editor
Evolution of Visual Studio
Types of Visual Studio
Visual Studio Community
Visual Studio Professional
Visual Studio Enterprise
Visual Studio Code
Introduction to Visual Studio IDE
New Project
Solution Explorer
Main workspace area
Output window
The Command and Immediate windows
Search option in IDE
Writing your first program in Visual Studio
How to debug
Debugging through code
Summary
Hello OOP - Classes and Objects
Classes in Object-oriented programming
The general form of a class
Writing a simple class
Objects in Object-oriented programming
How to create objects
Variables in C#
Methods in a class
Creating a method
Constructor of a class
Characteristics of Object-oriented programming
Inheritance
Encapsulation
Abstraction
Polymorphism
Summary
Implementation of OOP in C#
Interfaces
Abstract class
Partial class
Sealed class
Tuples
Properties
Access specifiers for classes
Public
Private
Internal
Protected
Protected internal
Summary
Object Collaboration
Examples of object collaboration
Different types of object collaboration in C#
Case study
Dependency
Association
Aggregation
Composition
Inheritance
Summary
Exception Handling
Why we need exception handling in programming
Exception handling in C# programming
Basics of exception handling
Try and catch
What happens if you don't handle exceptions?
Multiple catch blocks
Using the throw keyword 
What does the finally block do?
Exception class
Some common exception classes
User-defined exceptions
Exception filter
Exception handling best practices
Summary
Events and Delegates
What is a delegate?
How to create and use delegates
Method group conversion
Using the static and instance methods as delegates
Multicasting
Covariance and Contravariance
Events
Multicast event
Event guidelines from .NET
Summary
Generics in C#
What are Generics?
Why do we need Generics?
Different constraints of Generics
Base class constraints
Interface constraints
Reference type and Value type constraints
Multiple constraints
Generic methods
Type-inferencing
Covariance and Contravariance in Generics
Covariance
Contravariance
Summary
Modeling and Designing Software
The importance of design diagrams
Different UML diagrams
Class diagrams
Inheritance
Association
Aggregation
Composition
Dependency
An example of a class diagram
Use case diagrams
The actor
The use case
The communication link
The system boundaries
An example of a use case diagram
A sequence diagram
An actor
A lifeline
An activation
A call message
A return message
A self message
A recursive message
A create message
A destroy message
A duration message
A note
An example of a sequence diagram
Summary
Visual Studio and Associated Tools
Visual Studio project types and templates
Visual Studio Editor and different windows
Editor window
Solution Explorer
Output window
Debugging windows
Breakpoints window
Exception Settings
Output
Diagnostic Tools
Immediate window
Python debugger window
Breakpoints, Call Stack Trace, and Watch
Breakpoint
Call Stack Trace
Watch window
Git in Visual Studio
Refactoring and code-optimization techniques
Rename
Changing the method signature
Encapsulate Field
Extract Method
Summary
Exploring ADO.NET with Examples
The fundamentals of ADO.NET
Data providers
Connection Objects
The Command object
The DataReader object
DataAdapter
Connecting to various databases
SQL Server
The Oracle database
Working with DataReaders and DataAdapters
DataReaders
DataAdapters
Working with stored procedures
Working with Entity Framework
What is an entity in Entity Framework?
Different types of Entity properties
Scalar properties
Navigation properties
The code-first approach
The database-first approach
Using the Entity Framework
Transactions in SQL
Atomic
Consistent
Isolated
Durable
Summary
New Features in C# 8
Environment Setup
Nullable reference types
Async streams
Ranges and indices
Default implementation of interface members
Switch expressions
Target-typed new expressions
Summary
Understanding Design Patterns and Principles
Design Principles
The Single Responsibility Principle
The Open Close Principle
The Liskov Substitution Principle
The Interface Segregation Principle
The Dependency Inversion Principle
Creational design patterns
The abstract factory pattern
The builder pattern
The factory method pattern
The prototype pattern
The singleton pattern
Structural design patterns
The adapter pattern
The decorator pattern
The facade pattern
The proxy pattern
Behavioral design patterns
The command pattern
The observer pattern
The strategy pattern
The MVC pattern
Summary
Git - The Version Control System
What is version control?
How Git works
Modified
Staged
Committed
Installing Git on Windows
The basics of Git
Git config
Git init
Git clone
Git status
Git add
Git commit
Git log
Git remote
Git push
Git pull
Git fetch
Branching in Git
Creating a branch
Viewing available branches
Changing branches
Deleting a branch
Merging in Git
Summary
Prepare Yourself - Interview and the Future
Interview questions
What are the fundamental principles of object-oriented programming?
What is inheritance?
What is encapsulation?
What is abstraction?
What is polymorphism?
What is an interface?
What is an abstract class?
What is a sealed class?
What is a partial class?
What are the differences between interfaces and abstract classes?
What is the difference between method-overloading and method-overriding?
What are access modifiers?
What is boxing and unboxing?
What are the differences between a struct and a class?
What is an extension method in C# and how do we use it?
What is managed and unmanaged code?
What is a virtual method in C#?
What do you understand by value types and reference types in C#.NET?
What are design principles?
What is the single responsibility principle?
What is the Open/Closed principle?
What is the Liskov substitution principle?
What is the interface segregation principle?
What is the dependency inversion principle?
Interview and career tips
Improving your communication skills
Keep practicing
Things to learn next
Building the habit of reading
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Title Page
Next
Next Chapter
Hands-On Object-Oriented Programming with C#
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset