舉報

會員
Mastering Delphi Programming:A Complete Reference Guide
Delphiisacross-platformIntegratedDevelopmentEnvironment(IDE)thatsupportsrapidapplicationdevelopmentformostoperatingsystems,includingMicrosoftWindows,iOS,andnowLinuxwithRADStudio10.2.IfyouknowhowtousethefeaturesofDelphi,youcaneasilycreatescalableapplicationsinnotime.ThisLearningPathbeginsbyexplaininghowtofindperformancebottlenecksandapplythecorrectalgorithmtofixthem.You'llbrushupontricks,techniques,andbestpracticestosolvecommondesignandarchitecturalchallenges.Then,you'llseehowtoleverageexternallibrariestowritebetter-performingprograms.You'llalsolearnabouttheeightmostimportantpatternsthat'llenableyoutodevelopandimprovetheinterfacebetweenitemsandharmonizesharedmemorieswithinthreads.Asyouprogress,you'llalsodelveintoimprovingtheperformanceofyourcodeandmasteringcross-platformRTLimprovements.BytheendofthisLearningPath,you'llbeabletoaddresscommondesignproblemsandfeelconfidentwhilebuildingscalableprojects.ThisLearningPathincludescontentfromthefollowingPacktproducts:DelphiHighPerformancebyPrimo?Gabrijel?i?.Hands-OnDesignPatternswithDelphibyPrimo?Gabrijel?i?.
目錄(256章)
倒序
- coverpage
- Title Page
- Copyright and Credits
- Mastering Delphi Programming: A Complete Reference Guide
- About Packt
- Why subscribe?
- PacktPub.com
- Contributors
- About the author
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- Download the example code files
- Conventions used
- Get in touch
- Reviews
- About Performance
- What is performance?
- Different types of speed
- Algorithm complexity
- Big O and Delphi data structures
- Data structures in practice
- Mr. Smith's first program
- Looking at code through the Big O eyes
- Don't guess measure!
- Profiling with TStopwatch
- Profilers
- AsmProfiler
- Sampling Profiler
- AQTime
- Nexus Quality Suite
- Summary
- Fixing the Algorithm
- Responsive user interfaces
- Updating a progress bar
- Bulk updates
- Virtual display
- Caching
- Dynamic cache
- Speeding up SlowCode
- Summary
- Fine-Tuning the Code
- Delphi compiler settings
- Code inlining control
- Optimization
- Record field alignment
- Assertions
- Overflow checking
- Range checking
- Extracting common expressions
- The helpful CPU window
- Behind the scenes
- A plethora of types
- Simple types
- Strings
- Arrays
- Records
- Classes
- Interfaces
- Optimizing method calls
- Parameter passing
- Method inlining
- The magic of pointers
- Going the assembler way
- Returning to SlowCode
- Summary
- Memory Management
- Optimizing strings and array allocations
- Memory management functions
- Dynamic record allocation
- FastMM internals
- Memory allocation in a parallel world
- Replacing the default memory manager
- ScaleMM
- TBBMalloc
- Fine-tuning SlowCode
- Summary
- Getting Started with the Parallel World
- Processes and threads
- When to parallelize the code?
- Most common problems
- Never access UI from a background thread
- Simultaneous reading and writing
- Sharing a variable
- Synchronization
- Critical sections
- Other locking mechanisms
- A short note on coding style
- Shared data with built-in locking
- Interlocked operations
- Object life cycle
- Communication
- Windows messages
- Synchronize and Queue
- Polling
- Performance
- Third-party libraries
- Summary
- Working with Parallel Tools
- TThread
- Advanced TThread
- Setting up a communication channel
- Sending messages from a thread
- Implementing a timer
- Summary
- Exploring Parallel Practices
- Tasks and patterns
- Variable capturing
- Tasks
- Exceptions in tasks
- Parallelizing a loop
- Thread pooling
- Async/Await
- Join
- Join/Await
- Future
- Parallel for
- Pipelines
- Creating the pipeline
- Stages
- Displaying the result and shutting down
- Summary
- Using External Libraries
- Using object files
- Object file formats
- Object file linking in practice
- Using C++ libraries
- Using a proxy DLL in Delphi
- Summary
- Introduction to Patterns
- Patterns in programming
- Patterns are useful
- Delphi idioms – Creating and destroying an object
- Gang of Four started it all
- Don't inherit – compose!
- Pattern taxonomy
- Creational patterns
- Structural patterns
- Behavioral patterns
- Concurrency patterns
- Criticism
- Anti-patterns
- Design principles
- SOLID
- Don't repeat yourself
- KISS and YAGNI
- Summary
- Singleton Dependency Injection Lazy Initialization and Object Pool
- Singleton
- NewInstance
- Lateral thinking
- Dependency injection
- From classes to interfaces
- Using a factory method
- Wrapping up
- Lazy initialization
- Using Spring
- Object pool
- Stock quote connection pool
- Summary
- Factory Method Abstract Factory Prototype and Builder
- Factory method
- Painter
- Modernizing the factory method pattern
- Abstract factory
- Prototype
- Cloning records
- Cloning objects
- Delphi idioms – Assign and AssignTo
- Serialization
- Builder
- Idioms – Fluent interfaces
- Summary
- Composite Flyweight Marker Interface and Bridge
- Composite
- Child management
- Flyweight
- String interning
- A practical example
- Delphi idioms – comparers and hashers
- Marker interface
- Delphi idioms – attributes
- Markers and attributes
- Bridge
- Bridged painting
- Summary
- Adapter Proxy Decorator and Facade
- Selecting an appropriate structural pattern
- Adapter
- Wrapping a class
- Wrapping an interface
- Implementing a queue with a list
- Proxy
- Delphi idioms – replacing components in runtime
- Smart pointers
- Unit testing with mock objects
- Decorator
- Decorating streams
- Delphi idioms – helpers
- Facade
- Summary
- Nullable Value Template Method Command and State
- Null object
- Template method
- Calculating the average value
- Inversion of control
- Command
- Command-based editor
- Creating commands
- Commands
- Invoker
- Client
- Macros
- Cloning
- State
- Unquoting a string
- Summary
- Iterator Visitor Observer and Memento
- Iterator
- Delphi idioms – iterating with for..in
- Implementing custom enumerators
- Using an iterator interface
- Visitor
- Observer
- Observing with Spring
- Memento
- Summary
- Locking Patterns
- Delphi idioms – parallel programming
- Lock
- Custom locking mechanism
- Lock striping
- Single bit locks
- Delphi idioms – bitwise operators
- Double-checked locking
- Optimistic locking
- Readers-writer lock
- Comparing reader-writer implementations
- Summary
- Thread pool Messaging Future and Pipeline
- Thread pool
- Idiosyncrasies of Delphi's TThreadPool
- Messaging
- Windows messages
- Queue and Synchronize
- Polling
- Future
- Pipeline
- Web spider
- Filter stage
- Downloader stage
- Parser stage
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-24 12:34:13
推薦閱讀
- Arduino入門基礎教程
- 零點起飛學Xilinx FPG
- Intel FPGA/CPLD設計(基礎篇)
- Applied Unsupervised Learning with R
- 基于Proteus和Keil的C51程序設計項目教程(第2版):理論、仿真、實踐相融合
- SDL Game Development
- 數字道路技術架構與建設指南
- 硬件產品經理成長手記(全彩)
- Intel FPGA/CPLD設計(高級篇)
- 從零開始學51單片機C語言
- R Deep Learning Essentials
- 超大流量分布式系統架構解決方案:人人都是架構師2.0
- 微型計算機系統原理及應用:國產龍芯處理器的軟件和硬件集成(基礎篇)
- 數字媒體專業英語(第2版)
- Blender Game Engine:Beginner's Guide
- Hands-On Motion Graphics with Adobe After Effects CC
- WebGL Hotshot
- 單片機原理及應用:基于C51+Proteus仿真
- 筆記本電腦芯片級維修從入門到精通(圖解版)
- 單片微機原理及應用
- STM32自學筆記
- The Deep Learning with PyTorch Workshop
- Learning Microsoft Cognitive Services
- 超炫的35個Arduino制作項目
- Hands-On Game Development with WebAssembly
- 89C51單片機實用教程
- Building Bluetooth Low Energy Systems
- 歐姆龍CP1H系列PLC完全自學手冊(第二版)
- 基于C語言與Proteus聯合仿真的單片機技術
- Spring Boot+Spring Cloud微服務開發實戰