Python in practice : create better programs using concurrency, libraries, and patterns 9780321905635, 0321905636

1,255 181 29MB

English Pages 306 Year 2014

Report DMCA / Copyright

DOWNLOAD FILE

Python in practice : create better programs using concurrency, libraries, and patterns
 9780321905635, 0321905636

Table of contents :
Content: Foreword xiii Introduction 1 Acknowledgments 3 Chapter 1: Creational Design Patterns 5 1.1. Abstract Factory Pattern 5 1.2. Builder Pattern 11 1.3. Factory Method Pattern 17 1.4. Prototype Pattern 24 1.5. Singleton Pattern 26 Chapter 2: Structural Design Patterns 29 2.1. Adapter Pattern 29 2.2. Bridge Pattern 34 2.3. Composite Pattern 40 2.4. Decorator Pattern 48 2.5. Facade Pattern 59 2.6. Flyweight Pattern 64 2.7. Proxy Pattern 67 Chapter 3: Behavioral Design Patterns 73 3.1. Chain of Responsibility Pattern 74 3.2. Command Pattern 79 3.3. Interpreter Pattern 83 3.4. Iterator Pattern 95 3.5. Mediator Pattern 100 3.6. Memento Pattern 106 3.7. Observer Pattern 107 3.8. State Pattern 111 3.9. Strategy Pattern 116 3.10. Template Method Pattern 119 3.11. Visitor Pattern 123 3.12. Case Study: An Image Package 124 Chapter 4: High-Level Concurrency 141 4.1. CPU-Bound Concurrency 144 4.2. I/O-Bound Concurrency 155 4.3. Case Study: A Concurrent GUI Application 164 Chapter 5: Extending Python 179 5.1. Accessing C Libraries with ctypes 180 5.2. Using Cython 187 5.3. Case Study: An Accelerated Image Package 198 Chapter 6: High-Level Networking 203 6.1. Writing XML-RPC Applications 204 6.2. Writing RPyC Applications 219 Chapter 7: Graphical User Interfaces with Tkinter 231 7.1. Introduction to Tkinter 233 7.2. Creating Dialogs with Tkinter 235 7.3. Creating Main-Window Applications with Tkinter 253 Chapter 8: OpenGL 3D Graphics 263 8.1. A Perspective Scene 264 8.2. An Orthographic Game 272 Appendix A: Epilogue 283 Appendix B: Selected Bibliography 285 Index 289

Polecaj historie