Index
A
Abstract class
AboutMe() method
analysis
animal hierarchy
class-specific implementations
diamond problem
Float()/Fly() method
fundamentals
inheritance hierarchy
inheritances
Boat class
class diagram
code segment
considerations
hierarchies
implementation/output
vehicle/airplane/boat hierarchies
interface
SoftToys hierarchy
Sound() method
supertype references
Anti-patterns
attractive solution
classifications
concepts/mindsets
design patterns
history
prevention
refactoring
software industry
symptoms
B
Behavioral patterns
C
Comments
abstract class
code segment
documentation
initial program
analysis
source code
multi-line comments
Next method
nutshell
real-life scenario
Rectangle class
SayHello() method
single-line comments
TODO comment
Common Language Runtime (CLR)
C# programming
D, E
Demonstration
CommonLibrary.cs
DIP
DRY principle
Façades
factories
garbage collector
hook method
ISP
LSP
memory leaks
OCP
wrapper
Dependency inversion principle (DIP)
abstractions
analysis
database parameter
demonstration
high-level class
low-level concrete class
program hierarchy
UserInterface and OracleDatabase
Design patterns
behavioral patterns
categories
class/object patterns
creational process
data structures
Gang of Four (GoF)
histroy
meaning
PLoP
programming languages
structural patterns
Diamond problem
Don’t repeat yourself (DRY) principle
analysis
BasicGameInfo reference
code duplication
code segments
CommonLibrary.cs
definition
demonstration
DryDemoUsingDll project
hard-coded strings
initial version
instance methods
key assumptions
output process
F
Façades
assumptions
benefits
demonstration
initial program
analysis
class diagram
demonstration
LoanStatus class
optional parameters
Person classes
meaning
problem statement
program output
Factories
advantages
analysis
AnimalFactory class
class diagram
demonstration
hierarchy
modified implementation
object-creation process
output program
problem statement
program output
requirements
stable application
Finalizer vs. dispose
analysis
code segment
demonstration
destructor
Dispose() method
Finalize() method
IDisposable interface
managed heap
Microsoft documentation
source code
using statement
G
Garbage collection (GC)
Garbage collector (GC)
analysis
Collect() method
demonstration
descriptions
different cases
generations
GetTotalMemory() method
memory leaks
parameters’ descriptions
phases
H
Hook method
analysis
demonstration
enhanced requirement
code segments
demonstration
GenerateGiftCoupon() method
WashingMachine class
initial program
output
PurchaseProduct class
PurchaseProduct()method
scenario
SelectProduct() method
problem statement
I, J, K
Interface
SeeAbstract class
Interface segregation principle (ISP)
analysis
class implementation
demonstration
IFaxDevice/IPrinter interfaces
implementation
initial program
class diagram
fax hierarchy
IPrinter class hierarchy
PrintDocument()/SendFax() methods
run-time error
SendFax() method
L
Last In First Out (LIFO) mechanism
Liskov Substitution Principle (LSP)
analysis
base class
code segment
demonstration
IUser class
LoadPreviousPaymentInfo() method
Main() method
NotImplementedException
output process
ProcessNewPayment() method
Rectangle instance
ShowArea() method
Square class
UserManagementHelper class
M, N
Martin, Robert C.
Memory management
finalizer/destructor
analysis
demonstration
destructor
Dispose() method
Finalize() method
IDisposable interface
managed heap
source code
using statement
garbage collection
garbage collector
handling operations/unmanaged objects
IDisposable interface
memory leak analysis
definition
demonstration
diagnostic tools
garbage collector
object count difference
scenarios
snapshots
operating system (OS)
OutOfMemoryException
stack/heap memory
SeeStack/heap memory
Submit button
symptoms
Meyer, Bertrand
O
Object-oriented programming (OOP)
Open/closed principle (OCP)
advantages
analysis
characteristics
code segment
definition
demonstration
EvaluateDistinction() method
IDistinctionDecider method
inheritance
initial program
modified program
program designing
P, Q
Pattern Languages of Program Design (PLoP)
Polymorphism
advantages
analysis
animal.Sound() method
approach
concrete implementation
GetAnimal() method
initial program
Main() method
meaning
running application
Sound() method
source code
subtype method
supertype
version modification
R
Return on investment (ROI)
S
Simple factory pattern
Single responsibility principle (SRP)
analysis
data/properties/methods
Employee class
GenerateEmployeeId() method
output
responsibilities
source code
Software design patterns
SOLID principles
LSP
DIP
design principles
fundamental guidelines
ISP
OCP
SRP
Stack/heap memory
allocate memory
allocations
C/C++ concept
definition
heap memory
compaction technique
garbage collector
scattered allocations
unmanaged heap
LIFO mechanism
object reference
source code
stages
statuses
Static/instance method
AnimalFactory class
anti-patterns
definition
design patterns
SeeDesign patterns
message
ShowGreaterNumber() method
terminology
cohesion and coupling
constant
features
general suggestions
inappropriate design
inheritance/immobility
simplified version
viscosity
T, U
Template method
SeeHook method
V
Version management tool
W, X, Y, Z
Wrapper
base classes
BasicHome class
definition
interface
object composition
AddPlayGround() method
analysis
BufferedStream class
class diagram
components
demonstration
FileStream class
key concepts
program output
requirements
SwimmingPool class
problem statement
subclassing
..................Content has been hidden....................

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