GETTING STARTED Introduction and Concepts Join and Sleep How Threading Works Threads vs Processes Threading’s Uses and Misuses Creating and Starting Threads Passing Data to a Thread Naming Threads Foreground vs Background Thread Priority Exception Handling Thread Pooling Thread Pooling via TPL Thread Pooling Without TPL Optimizing the Thread Pool BASIC SYNCHRONIZATION + Synchronization Essentials + Locking + Thread Safety + Event Wait Handles + Synchronization Contexts USING THREADS + Event-Based Asynch Pattern + BackgroundWorker + Interrupt and Abort + Safe Cancellation + Lazy Initialization + Thread-Local Storage + Timers ADVANCED THREADING + Nonblocking Synchronization + Signaling with Wait and Pulse + The Barrier Class + Reader/Writer Locks + Suspend and Resume + Aborting Threads PARALLEL PROGRAMMING + Parallel Programming + Why PFX? + PLINQ + The Parallel Class + Task Parallelism + Working with AggregateException + Concurrent Collections + SpinLock and SpinWait http://www.albahari.com/threading/
Fundamental OOPS Concepts --Abstraction --Encapsulation --Inheritance --Polymorphism ----Types of Polymorphism ----Design Vs Run time polymorphism ----Need of Function Overloading ----Overloading by Return Type ? --Messaging --Extensibility --Persistence --Delegation --Genericity --Multiple Inheritance --Principles --Single Responsibility --Open Closed --Liskov Substitution --Interface Segregation --Dependency Inversion --Don't Repeat YourSelf --Law of Demeter --Hollywood --KISS --Yagni --Tell, don’t ask Software Design Patterns --Creational Patterns ----Abstract Factory ----Builder ----Factory Method ----Prototype ----Singleton ----Inversion of Control ----Dependency Injection ----Service Locator ----Object Pool --Structural Patterns ----Adapter ----Bridge ----Composite ----Decorator ----Facade ----Flyweight ----Proxy ----Interception ----Property Map ----Private Class Data ----Value Object ----Money ----Special Case ----Null Object --Behavioral Patterns ----Chain of Responsibility ----Command ----Interpreter ----Iterator ----Mediator ----Memento ----Observer ----State ----Strategy ----Template Method ----Visitor ----Event Aggregator Application Patterns --Generic Base Patterns ----Mapper Pattern ----Separated Interface Pattern --Domain Logic Patterns ----Transaction Script ----Table Module ----Domain Model ----Service Layer --Data Access Patterns ----Active Record ----Row Data Gateway ----Table Data Gateway ----Data Mapper ----Record Set ----ORM Patterns ------Behavioral ORM Patterns --------Unit of Work --------Identity Map --------Lazy Load ------Structural ORM Patterns --------Identıty Field --------Foreign Key Map --------Association Table Mapping --------Dependent Mapping --------Embedded Value --------Serialized LOB --------Single Table Inheritance --------Class Table Inheritance --------Concrete Table Inheritance --------Inheritance Mappers -------Metadata ORM Patterns --------Metadata Mapping Pattern --------Query Object Pattern --------Repository Pattern Presentation Patterns --Client Presentation --Web Presentation Distribution Patterns Integration Patterns Offline Concurrency Patterns Session State Patterns Extensibility Patterns
Clean Code - Robert C. Martin Design Patterns - Head First Patterns of Enterprise Application Architecture - Martin Fowler Test-Driven Development - Kent Beck 97 Things Every Programmer Should Know - Kevlin Henney Domain Driven Design with C Sharp - Wrox Adaptive Code via C# - Gary McLean Hall
Creational Patterns
Structural Patterns
Behavioral Patterns
Kısım 1 Wpf Mimarisi Logical Tree - Visual Tree Routing Event, Event Bubbling, Tunneling Window vs Page Application Nesnesi Layout Kontroller Style, Trigger, DataTemplate, Thema Kısım 2 Binding Command, DelegateCommand Converter MarkupExtension INotifyPropertchanged, ObservableCollection Validation Dependency Object - Dependency Property Attached Property Custom Component Visual Inheritance MVVM Pattern UIThread vs BackgroundThread Kısım 3 WinForm Entegrasyonu Virtualizing WPF Client Frameworkler Moduler Bir ERP Gelistirme Region Manager Command Manager Screen Mediator Pattern
We, IT architects, guide the design and evolution of computer systems. We strive to achieve maximum value for our business partners through this work. We constantly discover better ways to architect systems. As a result, we have come to value:
That is, while there is a place for the tactics on the right, we should strive towards approaches on the left.