Index
A
AbcCompany
AboutGame() method
AboutMe() method
Abstract class
centralized behavior
default method
fields
implementation
vs. interface
output
Vehicle
Abstraction IDatabase
Abstract method
AdditionalPrice property
AddPlayground() method
AdvancedPrinter
Agile Principles, Patterns and Practices in C# (book)
Airplane class
AnimalFactory class
Animal hierarchy
AnimalProducer class
AnimalProducer.MakeSound(animal)
Anti-patterns
architects don’t code
copy-and-paste programming
disguised links and ads
examples
god class
golden hammer
history
management by numbers
not invented here
overuse of patterns
precautionary measures
shoot the messenger
sources
swiss army knife
zero means null
args parameter
ArtsDistinctionDecider
Asset class
Attributes
B
BasicGameInfo.Game
BasicGameInfo project reference
BasicHome class
BasicPrinter
Behavioral patterns
Boat class
BufferedStream class
BuildHome() method
Built-in comments
Bus object
C
C#
C# 1.0
C# 11.0
C++
catch block
C/C++
CheckSeniority() method
Child class finalizer
C# interfaces
default methods
instance data
methods
Class diagram
Class library project
Clean Architecture (book)
Clean Code (book)
Client code
Closed class
Closed modules
Code comments
advantages
built-in function
C#
analysis
compiler
demonstration 3
TODO comment
client code
code describing
disadvantage
documentation comments
enhanced program
analysis
demonstration 2
importance
initial program
analysis
demonstration 1
output
Microsoft’s guidelines
multiline comments
sample
single-line comments
TODO comment
Code duplication
Cohesion
Collect()
CollectionCount method
Commented-out code
Comments
CommerceDistinctionDecider
Common language runtime (CLR)
CommonLibrary.cs
Compile-time error
Composition
Concrete factory
Copy-and-paste programming
Coupling
C# programming
CreateAnimal() method
Creational Patterns
CustomWebException
D
Database parameter
Database property
Decision statements
Decorator
Decorator pattern
Demo4_DRYUsingDll project
Demonstration
Dependency Inversion Principle (DIP)
abstractions
console applications
dependence
enhanced program
analysis
code segments
demonstration 10
output
high-level modules
initial program
analysis
demonstration 9
Oracle database
output
two-layer application
low-level class
Design patterns
Alexander, Christopher
history
object-oriented programming language
programming languages
Singleton pattern, code segment
Design Patterns: Elements of Reusable Object-Oriented Software (book)
Destructor
Dirty objects
DisplayCost() method
DisplayCostAfterDiscount() method
DisplayDetails() method
DisplayEmployeeDetail() method
DisplayResult() methods
Dispose() method
DistinctionDecider class
Documentation comments
DoNothing behavior
Don’t repeat yourself (DRY) principles
enhanced program
analysis
constructor
demonstration 2
output
initial program
analysis
assumptions
demonstration 1
output
professional coder
proposed improvement
demonstration 3
demonstration 4
output
requirement
reasons
Duplicates
Dynamic link library (DLL)
E
Employee class
EvaluateDistinction() method
Exception handling
different exception handling in same way
analysis
Demo2 project
demonstration
initial program
LocalProcessor wraps
output
RemoteProcessor
System.Runtime.Serialization
wrap third-party APIs
same exception handling in different ways
analysis
CustomWebException
demonstration
output
F
Facades
analysis
Asset class
client code
demonstration
LoanApprover class
LoanStatus class
opaque
output
parameters
Person class
problem statement
static
transparent
Factories
alternative methods
client
enhanced program
analysis
code segment
demonstration 2
hierarchy
output
initial program
analysis
demonstration 1
output
new requirement
analysis
changes
demonstration 3
demonstration 4
output
problem statement
programmer
Factory hierarchy
Fax methods
FileStream class
Finalizers
Flexibility
Float() method
FloatCapability classes
Fly() method
FlyCapability classes
Fragility
G
GameInfo
GamePrice class
Garbage collector (GC) in action
cases of invoke
demonstration
longer-lived objects
output
phases
short-lived objects
GC.Collect()
Gc.Collect(0)
Gc.Collect(1)
GC.Collect(2)
GC.Collect(i, GCCollectionMode.Forced, false, true)
GC.Collect(Int32) forces
GC.SuppressFinalize() method
GC.SuppressFinalize(this)
GenerateEmployeeId() method
GenerateGiftCoupon() method
GetAnimal() method
GetPrice() method
GetTotalMemory() method
God Class anti-pattern
GrandShape class
H
Hard-coded strings
HAS-A test
HasPreviousLoans method
HasSufficientAssetValue
Heap memory
Helper class
Home class
Hooks
HUMAN class
I, J, K
IAnimal interface
ICapability interface
IdChangedEventHandler
IDisposable interface
IDistinctionDecider method
IFaxDevice interface
if-else chain
ildasm.exe
ILuxury interface
Immobility
IncompleteVehicle
INewPayment instances
Inheritance
Inheritance chain
Inheritance hierarchy
abstract class
classes
ICapability interface
interface
vehicle behaviors
Inline comments
Interface Segregation Principle (ISP)
base class interface
client
concept
exception
improved program
activities
analysis
demonstration 8
output
initial program
analysis
demonstration 7
output
printers
IPayment instance
IPayment interface
IPayment object
IPrinter interface
IS-A test
IVehicle
L
Large object heap (LOH)
Last in, first out (LIFO) mechanism
Liskov Substitution Principle (LSP)
derived classes
description
enhanced program
analysis
demonstration 6
if-else chain
output
initial program
demonstration 5
output
instance
polymorphism
LoadPreviousPaymentInfo() method
LoanApprover class
LoanStatus class
LocalNumberProcessor
LocalProcessor wraps
Looping constructs
Luxury
M
MakeAnimal() method
MakeSound()
malloc() function
Managed heap
Managed vs. unmanaged memory leaks
Math.Abs(-2.52)
Math.Max(2,3)
Memories store
Memory leak analysis
demonstration
Diagnostic Tools
snapshots
Visual Studio
Visual Studio Community 2022
.NET profiling tools
Visual Studio users
windbg.exe
Memory management
finalize vs. dispose
analysis
Child class
class
demonstration
GC.SuppressFinalize() method
NET framework
Object class
output
Parent class
SuppressFinalize()
GC in action
SeeGarbage collector (GC) in action
memory leaks impact
overview
revised allocations
scattered allocations
stack memory vs. heap memory
Microsoft documentation
Microsoft’s CLR profiler
Modular decomposition technique
MonkeyFactory
Multiline comments
Multiple inheritance
MYSQLDatabase
N
.NET
.NET 5
.NET 6 SDK
.NET 7
.NET profiling tools
NewPokemonKid
NotImplementedException()
Null conditional operator
Null Object pattern
NullPointerException
NullReferenceException
Null values
analysis
demonstration
IVehicle
Null Object pattern
NullVehicle object
output
NullVehicle object
O
Object class finalizer
Object composition
AdditionalPrice property
AddPlayground() method
analysis
BuildHome()
class diagram
decorator
demonstration
GetPrice() method
home
surrounded by playground
surrounded by swimming pool
Luxury
output
Playground
SwimmingPool
Object.Finalize method
Object-oriented programming (OOP)
classes
features
polymorphism
SeePolymorphism
Obsolete
Once and only once (OAOO) principle
Opaque facade
Open-Closed Principle(OCP)
custom classes
definition
enhanced program
analysis
demonstration 4
output
guidelines
important thoughts
inheritance
initial program
demonstration 3
initial program
output
object-oriented design guidelines
requirements
Operating system (OS)
OracleDatabase
P, Q
Parameterized factory
Parent class finalizer
PaymentHelper class
Performance-sensitive code
Person class
Playground class
Polymorphic code
Polymorphism
classes
description
effective usage
improved program
analysis
demonstration 2
initial program
analysis
demonstration 1
output
Sound() method
interface
parent class
user-defined types
virtual methods
PrintDocument()
Printer class hierarchy
The Pragmatic Programmer (book)
ProcessNewPayment() method
Project deadline
PurchaseProduct() method
R
RectangleArea() method
RegisteredUser classes
RegisterNotifications method
RemoteNumberProcessor project
RemoteProcessor
Repeated code
Return on investment (ROI)
Rigid
Runtime random number generator
S
SaveEmpIdInDatabase() method
SaveEmployeeId() method
SayHello() method
ScienceDistinctionDecider
SelectProduct() method
SendFax() method
SetVehicleBehavior() method
Short-lived objects
ShowGreater
ShowPreviousPayments() method
ShowStatus() method
Simple factory pattern
Single-line comments
Single Responsibility Principle (SRP)
classes
class members
enhanced program
demonstration 2
output
initial program
analyis
demonstration 1
methods
output
members
methods
vs. multiple responsibilities
separate responsibilities
Small object heap (SOH)
SoftToys hierarchy
SOLID principles
definition
DIP
high-level guidelines
ISP
LSP
object-oriented design guidelines
OCP
SRP
SomeMethod
Sound() method
Source code version management tool
Stack memory
vs. heap memory
Static method
Steam class
struct variable
Structural patterns
Student class
Superclass reference
SuperGame
Supertype reference
SuppressFinalize()
SwimmingPool class
System.GCCollectionMode.Default
System.GCCollectionMode.Forced
System.GCCollectionMode.Optimized
System.Net
System.OutOfMemoryException
System.Runtime.Serialization
T
Technological enhancements
Template methods, hooks
abstract method
analysis
class diagram
DeliverProduct()
demonstration
GenerateBill()
GenerateGiftCoupon()
IsEligibleForGiftCoupon()
output
problem statement
PurchaseProduct
SelectProduct()
Television object
VisitShowroom()
WashingMachine class
TODO comment
Train object
Transparent facade
true parameter
try-catch block
try-catch-finally block
U
Uncle Bob principles
SeeSOLID principles
Unnecessary comments
Unreferenced objects
UnsupportedOperationException()
UserInterface class
Utility
Utility.ShowGreater(24.7, 75.2)
V
virtual or abstract keywords
VirtualAlloc
Viscosity
Viscosity of design
Viscosity of environment
Visual Studio
W, X, Y, Z
WaitForPendingFinalizers()
WET solution
windbg.exe
Wrappers
hierarchical inheritance
ILuxury interface
inheritance
interface
object composition
SeeObject composition
problem statement
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.85.175