Atjaunināt sīkdatņu piekrišanu

E-grāmata: Design Patterns in .NET: Reusable Approaches in C# and F# for Object-Oriented Software Design

3.14/5 (17 ratings by Goodreads)
  • Formāts: EPUB+DRM
  • Izdošanas datums: 11-May-2019
  • Izdevniecība: APress
  • Valoda: eng
  • ISBN-13: 9781484243664
  • Formāts - EPUB+DRM
  • Cena: 47,58 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Ielikt grozā
  • Pievienot vēlmju sarakstam
  • Šī e-grāmata paredzēta tikai personīgai lietošanai. E-grāmatas nav iespējams atgriezt un nauda par iegādātajām e-grāmatām netiek atmaksāta.
  • Formāts: EPUB+DRM
  • Izdošanas datums: 11-May-2019
  • Izdevniecība: APress
  • Valoda: eng
  • ISBN-13: 9781484243664

DRM restrictions

  • Kopēšana (kopēt/ievietot):

    nav atļauts

  • Drukāšana:

    nav atļauts

  • Lietošana:

    Digitālo tiesību pārvaldība (Digital Rights Management (DRM))
    Izdevējs ir piegādājis šo grāmatu šifrētā veidā, kas nozīmē, ka jums ir jāinstalē bezmaksas programmatūra, lai to atbloķētu un lasītu. Lai lasītu šo e-grāmatu, jums ir jāizveido Adobe ID. Vairāk informācijas šeit. E-grāmatu var lasīt un lejupielādēt līdz 6 ierīcēm (vienam lietotājam ar vienu un to pašu Adobe ID).

    Nepieciešamā programmatūra
    Lai lasītu šo e-grāmatu mobilajā ierīcē (tālrunī vai planšetdatorā), jums būs jāinstalē šī bezmaksas lietotne: PocketBook Reader (iOS / Android)

    Lai lejupielādētu un lasītu šo e-grāmatu datorā vai Mac datorā, jums ir nepieciešamid Adobe Digital Editions (šī ir bezmaksas lietotne, kas īpaši izstrādāta e-grāmatām. Tā nav tas pats, kas Adobe Reader, kas, iespējams, jau ir jūsu datorā.)

    Jūs nevarat lasīt šo e-grāmatu, izmantojot Amazon Kindle.

Implement design patterns in .NET using the latest versions of the C# and F# languages. This book provides a comprehensive overview of the field of design patterns as they are used in today’s developer toolbox.

Using the C# programming language, Design Patterns in .NET explores the classic design pattern implementation and discusses the applicability and relevance of specific language features for the purpose of implementing patterns. You will learn by example, reviewing scenarios where patterns are applicable. MVP and patterns expert Dmitri Nesteruk demonstrates possible implementations of patterns, discusses alternatives and pattern inter-relationships, and illustrates the way that a dedicated refactoring tool (ReSharper) can be used to implement design patterns with ease.


What You'll Learn

  • Know the latest pattern implementations available in C# and F#
  • Refer to researched and proven variations of patterns
  • Study complete, self-contained examples including many that cover advanced scenarios
  • Use the latest implementations of C# and Visual Studio/ReSharper

Who This Book Is For

Developers who have some experience in the C# language and want to expand their comprehension of the art of programming by leveraging design approaches to solving modern problems
About the Author xi
Introduction xiii
Part I Introduction
1(38)
Chapter 1 The SOLID Design Principles
3(24)
Single Responsibility Principle
3(3)
Open-Closed Principle
6(8)
Liskov Substitution Principle
14(3)
Interface Segregation Principle
17(5)
Dependency Inversion Principle
22(5)
Chapter 2 The Functional Perspective
27(12)
Function Basics
27(3)
Functional Literals in C#
30(1)
Storing Functions in C#
30(3)
Functional Literals in F#
33(2)
Composition
35(1)
Functional-Related Language Features
36(3)
Part II Creational Patterns
39(64)
Chapter 3 Builder
41(22)
Scenario
41(3)
Simple Builder
44(1)
Fluent Builder
45(1)
Communicating Intent
46(2)
Composite Builder
48(4)
Builder Parameter
52(3)
Fluent Interface Inheritance
55(4)
DSL Construction in F#
59(2)
Summary
61(2)
Chapter 4 Factories
63(14)
Scenario
63(2)
Factory Method
65(2)
Factory
67(1)
Inner Factory
67(2)
Logical Separation
69(1)
Abstract Factory
69(3)
Functional Factory
72(2)
Summary
74(3)
Chapter 5 Prototype
77(14)
Deep vs. Shallow Copying
77(1)
ICloneable Is Bad
78(2)
Deep Copying with a Special Interface
80(1)
Deep Copying Objects
81(2)
Duplication via Copy Construction
83(1)
Serialization
84(2)
Prototype Factory
86(2)
Summary
88(3)
Chapter 6 Singleton
91(12)
Singleton by Convention
92(1)
Classic Implementation
93(2)
Lazy Loading
94(1)
The Trouble with Singleton
95(5)
Singletons and Inversion of Control
100(1)
Monostate
101(1)
Summary
102(1)
Part III Structural Patterns
103(88)
Chapter 7 Adapter
105(16)
Scenario
105(2)
Adapter
107(2)
Adapter Temporaries
109(4)
The Problem with Hashing
113(3)
Property Adapter (Surrogate)
116(2)
Adapters in the .NET Framework
118(1)
Summary
119(2)
Chapter 8 Bridge
121(10)
Conventional Bridge
121(4)
Dynamic Prototyping Bridge
125(4)
Summary
129(2)
Chapter 9 Composite
131(10)
Grouping Graphic Objects
131(3)
Neural Networks
134(4)
Shrink Wrapping the Composite
138(2)
Summary
140(1)
Chapter 10 Decorator
141(18)
Custom String Builder
141(3)
Adapter-Decorator
144(1)
Multiple Inheritance
145(4)
Dynamic Decorator Composition
149(4)
Static Decorator
153(2)
Functional Decorator
155(1)
Summary
156(3)
Chapter 11 Facade
159(10)
Building a Trading Terminal
161(1)
An Advanced Terminal
162(3)
Where's the Facade?
165(2)
Summary
167(2)
Chapter 12 Flyweight
169(8)
Usernames
169(3)
Text Formatting
172(4)
Summary
176(1)
Chapter 13 Proxy
177(14)
Protection Proxy
177(3)
Property Proxy
180(3)
Virtual Proxy
183(3)
Communication Proxy
186(3)
Summary
189(2)
Part IV Behavioral Patterns
191(160)
Chapter 14 Chain of Responsibility
193(12)
Scenario
193(1)
Method Chain
194(4)
Broker Chain
198(5)
Summary
203(2)
Chapter 15 Command
205(16)
Scenario
205(1)
Implementing the Command Pattern
206(2)
Undo Operations
208(4)
Composite Commands
212(4)
Functional Command
216(2)
Queries and Command Query Separation
218(1)
Summary
219(2)
Chapter 16 Interpreter
221(16)
Numeric Expression Evaluator
222(8)
Lexing
223(3)
Parsing
226(4)
Using Lexer and Parser
230(1)
Interpretation in the Functional Paradigm
230(5)
Summary
235(2)
Chapter 17 Iterator
237(12)
Array-Backed Properties
238(3)
Let's Make an Iterator
241(4)
Improved Iteration
245(2)
Summary
247(2)
Chapter 18 Mediator
249(12)
Chat Room
249(5)
Mediator with Events
254(5)
Summary
259(2)
Chapter 19 Memento
261(8)
Bank Account
261(2)
Undo and Redo
263(4)
Summary
267(2)
Chapter 20 Null Object
269(10)
Scenario
269(2)
Intrusive Approach
271(1)
Null Object
271(1)
Design Improvements
272(1)
Null Object Virtual Proxy
273(1)
Dynamic Null Object
274(2)
Summary
276(3)
Chapter 21 Observer
279(22)
Weak Event Pattern
281(3)
Property Observers
284(2)
Dependency Problems
286(6)
Event Streams
292(5)
Observable Collections
297(1)
Declarative Subscriptions
298(2)
Summary
300(1)
Chapter 22 State
301(14)
State-Driven State Transitions
302(3)
Handmade State Machine
305(4)
State Machines with Stateless
309(5)
Types, Actions, and Ignoring Transitions
309(2)
Reentrancy Again
311(1)
Hierarchical States
312(1)
More Features
312(2)
Summary
314(1)
Chapter 23 Strategy
315(8)
Dynamic Strategy
316(3)
Static Strategy
319(2)
Functional Strategy
321(1)
Summary
322(1)
Chapter 24 Template Method
323(6)
Game Simulation
323(3)
Functional Template Method
326(2)
Summary
328(1)
Chapter 25 Visitor
329(22)
Intrusive Visitor
330(2)
Reflective Printer
332(3)
Functional Reflective Visitor
334(1)
Improvements
335(1)
What Is Dispatch?
336(2)
Dynamic Visitor
338(2)
Classic Visitor
340(5)
Implementing an Additional Visitor
343(2)
Acyclic Visitor
345(3)
Functional Visitor
348(1)
Summary
349(2)
Index 351
Dmitri Nesteruk is a quantitative analyst, developer, course and book author, and an occasional conference speaker. His interests lie in software development and integration practices in the areas of computation, quantitative finance, and algorithmic trading. His technological interests include C# and C++ programming as well as high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.