[A][B][C][D][E][F][G][H][I][J][K][L][M][N][O][P][Q][R][S][T][U][V][W][X]
absolute expiration
AccountController class, 2nd
Accrue method, 2nd, 3rd
Acme Car Rental fictional project
Acminess logic
cost of change
requirements will change
signature changes
small versus large projects
working on team
defensive programming
exception handling
logging, adding
refactoring with AOP
creating aspect for transactions and retries
putting exception handling into own class
refactor defensive programming
start simple and isolating logging
refactoring without AOP
requirements
business
nonfunctional
retries
signature changes
small versus large projects
working on team
ActionFilters
Activator class, 2nd
AddPoints method
advice, 2nd, 3rd
AfterMethod method
aggregate service
Agile
ambient transaction, 2nd
Android, 2nd
antipattern, 2nd
AOP (aspect-oriented programming)
benefits of
cleaning up spaghetti code
encapsulation
reducing repetition
common use of
features of
history of
purpose of
Apple
architect, 2nd
architectural
constraints, 2nd, 3rd
validation
architecture, 2nd, 3rd
args parameter, 2nd, 3rd
ArgumentException
ArgumentNullException
arrange, act, assert
as operator
ASP.NET, 2nd, 6th
Cache
configuration
MVC
Web Application, 2nd
WebForms, 2nd
aspect, 2nd, 3rd
AspectDependencyAction enumeration
aspect-oriented programming.
See AOP.
AspectRoleDependency attribute, 2nd
aspects
adding as attribute to method
caching and authorization aspects
application architecture
Castle DynamicProxy
PostSharp
composing with DynamicProxy
ordering aspects
reducing repetition with custom conventions
initialization
multiple
optimization
optimizer
priority
roles, 2nd, 3rd
roles configuration
roles with PostSharp
validation.
See also boundary aspects.
assemblies, 3rd
defined
level
multicasting at
AttributeExclude setting
attributes, 2nd, 3rd, 4th
aspect as
constructors, 2nd
multicasting, 2nd, 3rd
order
PostSharp constructors with
repetition
testing for presence
AttributeTargetElements property
AttributeTargetMembers property
AttributeTargetTypes property
authorization, 2nd
aspects.
See caching and authorization aspects.
Authorize attribute
Authorized attribute
Autofac
autoproperties, 2nd
_balance field
BASIC
Beck, Kent
BeforeMethod method
begin transactions
BeginRequest event
benefits of AOP
cleaning up spaghetti code
encapsulation
reducing repetition
boilerplate, 2nd, 3rd, 4th, 5th, 6th, 7th
boundary
boxing
browser
build
a pyramid
process
server
business logic
Button class
cache
expiration
key, 2nd
Cache class, 2nd
Cached attribute
caching, 2nd, 9th, 10th
ASP.NET Cache class
expiration of
in example application
results
retrieving from cache
robust cache key
Caching Application Block
CachingAttribute attribute
CallerMemberName
calling convention
Cassini
Castle
Castle Windsor, 2nd
Castle.Core, 2nd
CCI (Microsoft Common Compiler Infrastructure)
change, 2nd
cost of.
See cost of change.
ChangePassword method
cheaper
CheckAccess property
checking for null arguments
CIL (Common Intermediate Language), 2nd, 3rd, 4th, 5th
manipulation by SheepAspect
manipulation tools
clarity, 2nd
class level
classes in modules
CLR (Common Language Runtime)
clutter
code behind
code smell
ComingFromMobileInterstitial method
commit
transactions
committed
Common Intermediate Language (CIL).
See CIL.
Common Language Runtime (CLR).
See CLR.
communication, 2nd
compiler, 3rd
symbols
compile-time initialization and validation
initializing at compile time
threading example
validating correct use of aspect
compile-time validation, 2nd
CompileTimeInitialize
CompileTimeValidate, 2nd, 3rd
Complete() method, 2nd
complexity
ComponentInternal constraint
composing aspects
configuration
configure
constructor
gone wild
injection, 2nd, 3rd, 4th
parameter
Content property
context
context_BeginRequest event handler
contextual, 2nd
Controller class
conventional naming
conventions, 2nd, 3rd, 4th
converting
cookie
copy and paste
cost of change
requirements will change
signature changes
small versus large projects
working on team
crash course
CreateClassProxy method
Cropp, Simon
CSS files
current domain
custom referential constraints
Data namespace
data transactions
ensuring data integrity with begin and commit
retries
rollback
Data Transport Objects (DTOs).
See DTO.
database
DataContext property
DataContract class
DataException class
DataMember class
declarative, 2nd
threading
decompiled
decompilers
decompiling
decorator pattern, 2nd, 3rd, 4th, 5th, 6th
decorator/proxy pattern
decoupled
DefineConstructor method
DefineDynamicModule method
DefineField method
DefineMethod method
DefineMethodOverride method
DefineType method
dependencies, 2nd, 3rd
dependency graph
dependency injection (DI), 4th, 5th, 6th, 16th, 17th
and tangling
and unit testing
creating MyService class
implementing services
ProxyHelper
putting inversion of control to work
refactoring using EnrichWith
unit testing the aspect
using DynamicProxy with StructureMap
using IoC tool to manage dependencies
writing logging aspect
Dependency Inversion principle, 2nd, 3rd, 4th, 5th, 6th
derived properties
deserialize, 2nd, 3rd
desktop
deterministic, 2nd
developer productivity
DI (dependency injection).
See dependency injection.
Dispose() method, 2nd
.dll files, 2nd
domain objects
double-checked locking
DRY (Don’t Repeat Yourself) rule
DTO (Data Transport Object)
DynamicMethod
DynamicProxy.
See Castle DynamicProxy.
eager loading
easier to read
emitting
encapsulate, 2nd
encapsulated, 2nd
encapsulation, 2nd
#end statement
EnrichWith method
EnrichWithAll API
evaluation stack
event handlers
exception
ExceptionHandler class
exceptions, 2nd, 6th
handling, 2nd
will be swallowed
.exe files, 2nd
expiration of cache
Express Edition, 2nd
Extensions namespace
Facebook
factory
fat aspects
features of AOP
FieldBuilder object class
fields
finally statement
FlowBehavior, 2nd
FlowBehavior.Return
Fody, 2nd
Forms Authentication
FormsAuthenticationModule class
free
functional requirement, 2nd
Gang of Four
garbage collector
get method, 2nd
GetBudgetForAccount method
GetCacheKey method, 2nd
GetCurrentValue method
GetILGenerator method
GetInstance method
GetPlayerBattingAverage method
GetTweet method
GetValue method, 2nd
GitHub
Guid
happy path
“hard” casting
heap
heuristic
HTML
HttpApplication class, 2nd
HttpContext class
HttpModule, 2nd, 4th, 6th, 7th
bounding
creating
IActionFilter interface
IAuthorizationConcern interface
IBusinessModule interface
IDisposable interface
#if statement
IHttpModule, 2nd, 3rd
IInstanceScopedAspect
IInterceptor, 2nd
interface, 2nd, 3rd, 4th
IInvocation, 2nd
IIS
IIS Express
IIS6
IIS7
server
IL (Intermediate Language)
manipulation, 2nd.
See also CIL.
ILGenerator
ILoggable interface
ILoyaltyAccrualService interface
ILoyaltyDataService interface
ILoyaltyRedemptionService interface
ILSpy, 2nd, 3rd
IMethodContextAdapter interface, 2nd
indentations
indirection
Init command
initialization
Initialize method, 2nd
initializing at compile time
injecting dependencies.
See dependency injection (DI).
Insert method
Install-Package command
Instance property
InstanceInterceptor interface
instances
instance-scoped aspect
intellisense
intent of code
Intercept method, 2nd, 3rd
interceptors, 2nd, 3rd, 4th, 5th, 6th, 7th, 8th
interface
Intermediate Language (IL).
See CIL.
Internal constraint
InternalImplements constraint
Interstitials
InvalidCastException
InvalidOperationException
InvalidProxyTypeException
Inversion of Control (IoC).
See IoC.
invocation parameter, 2nd, 3rd
Invoice class
Invoke method, 2nd, 3rd
InvokeRequired property, 2nd, 3rd
IoC (Inversion of Control), 2nd, 3rd, 5th, 6th, 7th, 11th
container, 2nd, 3rd, 4th, 5th
managing dependencies
IRegistrationConvention interface
isolating logging
isolation, 2nd
Java
JavaScript
JavaScript Object Notation (JSON).
See JSON.
JavaScriptSerializer class
JetBrains
JIT (just-in-time) compilation, 2nd
join points, 2nd, 3rd
JSON (JavaScript Object Notation)
JustCode
lambda
layer, 2nd
of indirection, 2nd
Lazy class
lazy loading, 5th
approaches in .NET
implementing with AOP
of fields
legacy code
licensing for PostSharp, 2nd
life cycle of software
line numbers
LinFu
LinkedIn
Linq
Literal class
LocationInterceptionArgs
LocationInterceptionAspect, 2nd, 3rd, 4th, 5th, 6th
LocationName property
LocationType
lock keyword
Log class, 2nd, 3rd
log4net, 2nd, 3rd, 4th
loosely coupled, 2nd, 3rd
machine instructions
Main method, 2nd, 3rd
maintainable code
maintenance phase of software
ManualResetEvent
memory
Message property
metadata
method bounding
method interception, 4th, 13th, 14th
Castle DynamicProxy method interception
data transactions
ensuring data integrity with begin and commit
retries
rollback
PostSharp method interception
threading
declarative threading
overview
UI threads and worker threads
vs. method boundaries
clarity/intent of code
shared state between aspect methods
method signature
MethodExecutionArgs, 2nd, 3rd, 4th, 5th, 6th
MethodExecutionTag property
MethodInfo class
MethodInterceptionArgs
MethodInterceptionAspect class, 2nd, 3rd, 4th, 5th
Microsoft Common Compiler Infrastructure.
See CCI.
middleman, 2nd
mock objects
mocking, 2nd, 3rd, 4th, 5th
mocks
Model-View-Presenter (MVP) pattern.
See MVP.
Model-View-ViewModel (MVVM) pattern.
See MVVM.
modular
ModuleBuilder class
modules, 2nd
Mono for Android
Mono project
Mono.Cecil
Moq, 2nd, 3rd
MSIL
MSpec
MSTest
multicast, 2nd
attributes
MulticastAttributeUsage attribute
multicasting
at assembly level
at class level
MulticastTargets enumeration
multicore programming
multiple aspects, 2nd
MVP (Model-View-Presenter) pattern
MVVM (Model-View-ViewModel) pattern
named instance
names of the methods
namespaces
naming conventions
NCache
NCover
.NET framework
Mono project
.NET Reflection
attribute
NHibernate, 2nd, 3rd, 4th, 5th
Ninject
NLog, 2nd, 3rd, 4th
noise
NonSerialized attribute
nontechnical factors
NotifyPropertyChanged
NotifyPropertyChangedAspect
NotifyPropertyWeaver, 2nd, 3rd
NuGet.org
null value, 2nd, 3rd, 4th
NullGuard
NullReferenceException
numberOfDays parameter
NUnit, 3rd, 4th, 5th
tool
NUnit.Runners, 2nd, 3rd
object-oriented programming (OOP).
See OOP.
OnException method, 2nd
OnExceptionAspect
OnExit, 2nd, 3rd
OnGetValue method, 2nd
OnInvoke method, 2nd
OnMethodBoundaryAspect, 2nd, 3rd, 4th, 5th, 6th
OnMobileInterstitial method
OnSetValue method, 2nd
OOP (object-oriented programming)
OpCodes
open/closed principle, 2nd
Osherove, Roy
Outercurve Foundation
Package Manager Console, 2nd, 3rd, 4th
Page class
parameterless constructor
parameters, 2nd
PARC (Palo Alto Research Company)
PDF files
performance, 2nd, 3rd
persistence
persistence layer
PHP
Pinterest
Plain Old CLR Object (POCO).
See POCO.
POCO (Plain-Old CLR Object), 2nd
pointcuts, 2nd, 3rd, 4th, 5th, 6th, 7th
PostSharp API, 2nd
PostSharp SDK
PowerShell
Proceed method, 2nd, 3rd, 4th
ProceedGetValue method, 2nd
ProceedSetValue method, 2nd
processes
production, 2nd
properties virtual
PropertyChanged, 2nd, 3rd
PropertyChangedEventHandler
ProvideAspectRole
ProxyGenerator class, 2nd
ProxyHelper class, 2nd, 3rd, 4th
PsharpMethodContextAdapter class
public keyword
purpose of AOP
QA (quality assurance)
quality
querystring
QueryString property
RaisePropertyChanged method
readability
readable
recover
Redeem method, 2nd, 3rd, 4th
refactor, 2nd
refactoring, 2nd, 4th, 10th
using EnrichWith
with AOP
creating aspect for transactions and retries
putting exception handling into own class
refactor defensive programming
start simple and isolating logging
without AOP
referential constraints
Reflection, 2nd, 4th, 5th, 7th, 9th, 10th
namespace, 2nd, 3rd
Reflection.Emit, 3rd, 8th
API
namespace, 2nd, 3rd, 4th
regressions
regular expressions
Remove method
Repository
ReSharper, 2nd, 3rd
responsive
RethrowException method
retries, 2nd, 3rd, 4th
retry, 2nd, 3rd
ReturnValue
reusable, 2nd, 3rd
reuse, 2nd, 3rd, 4th, 5th, 6th, 7th
roll back, 2nd, 3rd
Ruby
Runners package
RuntimeInitialize, 2nd, 3rd, 4th, 5th
SAQL
SaveFail method
SaveRetry method
scalar constraints, 2nd, 3rd
ScalarConstraint
Scalpel
scattered, 2nd, 3rd, 4th
scattering, 2nd
sealed, 2nd
security trimming
Send method
sensible default
separated
separation
Serializable, 2nd
[Serializable] attribute
serialize, 2nd, 3rd
serialized aspects
service locator, 2nd, 4th
pattern
set method, 2nd, 3rd
shallow serialization
share state, 2nd
SheepAop Query Language.
See SAQL.
SheepAspect
and NuGet
CIL manipulation
shotgun surgery
signature changes
Silverlight, 2nd, 3rd
Simple .NET Aspect-oriented Programming (SNAP).
See SNAP.
Single Responsibility Principle (SRP).
See SRP.
size of your project
sliding expiration
smartphone, 2nd
SNAP (Simple .NET Aspect-oriented Programming)
soft cast
spaghetti code
splash screen
Spring.NET
SQLite
SRP (Single Responsibility Principle), 2nd, 3rd, 4th, 5th, 6th
Stamp
StandardRoles
stand-in
static constructor
static methods, 2nd
statically scoped aspect
StaticConstructor
StructureMap, 2nd, 3rd, 4th, 6th, 9th
configuring with default conventions
flexibility using conventions
intercepts the object
using DynamicProxy with
stubbing
stubs
SubtractPoints method
succeeded flag
syntactic sugar
System.Data namespace
System.Threading
System.Transactions namespace
System.Web namespace
System.Web.Extensions namespace
tangled code, 2nd.
See also spaghetti code.
tangling
Task class
TDD (test-driven development)
Telerik
test fixture, 2nd
testable
test-driven development (TDD).
See TDD.
TestDriven.net
Text property
thin, aspects, 2nd, 3rd, 4th, 5th
Thread class
threads, 2nd, 3rd
thread-safe, 2nd, 3rd
tight coupling
ToString method
touch device keyboards
trade-offs, 2nd, 3rd
transaction, 2nd, 3rd, 4th, 6th, 7th
aspect
TransactionManager class
Transactions namespace
TransactionScope class, 2nd
TwitterClient class, 2nd
TypeBuilder class, 2nd
TypeMock, 2nd
UI objects
UI threads, 2nd, 3rd
unit testing, 2nd, 3rd, 4th
unit testing aspects
and DI
Castle DynamicProxy testing
injecting dependencies
testing interceptors
PostSharp testing
injecting dependencies
problems with PostSharp and testing
unit testing PostSharp aspect
writing tests with NUnit
unit tests, 2nd, 3rd, 4th, 5th, 6th, 7th
Unity
Unity Application Block.
See Unity.
Unity Interception Extension.
See Unity.
Unsealable constraint
UpdateSourceTrigger method
UserAgent property
using keyword
ValidateCode method, 2nd
validating correct use of aspect
validation
Value property
virtual keyword, 2nd, 3rd, 4th
Visual Studio, 2nd, 3rd, 4th, 5th, 6th
Visual Studio 2008
Visual Studio 2010 Express
Visual Studio 2012 Express
void keyword
waterfall
WCF, 2nd
weaved
weaver
weaving, 3rd, 4th, 6th, 10th
compile-time weaving
before and after
overview
post-compiling
vs. runtime weaving
overview
runtime weaving
dynamic proxies
proxy pattern
vs. compile time weaving
Web Developer edition
Web Form
Web namespace
web pages
web service, 2nd
Web.config
wildcards
Windows 8, 2nd, 3rd
Windows Communication Foundation (WCF).
See WCF.
Windows Forms, 2nd, 3rd.
See also WinForms.
Windows Forms application, 2nd
Windows Phone, 2nd
Windows Presentation Foundation (WPF).
See WPF.
Windsor
WinForms (Windows Forms), 2nd
worker threads
woven, 2nd
WPF (Windows Presentation Foundation), 2nd, 3rd