Book description
John P. Mueller demonstrates how you can fine-tune your skill set to create an elegant design that will scale well and produce reliable, speedy, secure, and efficient code. You'll explore several applications and design strategies using C# and you'll learn the best approaches for various system configurations. Mueller shares expert advice on how to create better applications by using fine-tuned design strategies and new methods for writing applications using less code, which improves efficiency. Topics include understanding the application lifecycle, defining a design strategy, designing with speed and security in mind, scripting the IDE, working with controls and components, testing, debugging and quality assurance, serializing XML, working with LINQ, augmenting applications using F#, and much more.
Table of contents
- Copyright
- About the Author
- About the Technical Editors
- Credits
- Acknowledgments
- Introduction
-
I. Design Strategies
-
1. Defining the Language Environment
- 1.1. Defining the Design Strategy Elements
- 1.2. Considering the C# Language
- 1.3. Inventorying Your Tools
- 1.4. Gathering Your Resources
- 1.5. Developing Your Design Strategy
-
2. Understanding the Application Lifecycle
-
2.1. Understanding the Lifecycle Stages
- 2.1.1. Developing an Application Concept
- 2.1.2. Building an Application Development Team
- 2.1.3. Defining a Specification
- 2.1.4. Determining Whether the Concept Will Work
- 2.1.5. Creating a Design
- 2.1.6. Testing the Design
- 2.1.7. Implementing the Design
- 2.1.8. Writing the Application
- 2.1.9. Debugging and Testing the Application
- 2.1.10. Testing User Requirements
- 2.1.11. Enhancing Reliability and Security
- 2.1.12. Deploying the Application
- 2.1.13. Supporting and Maintaining the Application
- 2.1.14. Retiring the Application
- 2.2. Considering a Lifecycle Model
- 2.3. Using Agile Programming Techniques
- 2.4. Developing Your Design Strategy
-
2.1. Understanding the Lifecycle Stages
- 3. Defining a Design Strategy
-
4. Designing the User Interface
-
4.1. Understanding the Application Form Types
- 4.1.1. Creating a Dialog Utility
- 4.1.2. Interacting with the Single Document Interface (SDI)
- 4.1.3. Interacting with the Multiple Document Interface (MDI)
- 4.1.4. Relying on a Tabbed Interface
- 4.1.5. Developing Specialty Skinned and Free-Form Applications
- 4.1.6. Working with RibbonX Applications
- 4.1.7. Using the Notification Area
- 4.1.8. Investigating the Command Line
- 4.2. Understanding the Common User Interface Types
- 4.3. Developing a User Interaction Strategy
- 4.4. Considering Accessibility Requirements
- 4.5. Developing Your Design Strategy
-
4.1. Understanding the Application Form Types
- 5. Designing with Speed in Mind
- 6. Designing with Reliability in Mind
- 7. Designing with Security in Mind
-
1. Defining the Language Environment
-
II. Coding Strategies
- 8. Customizing the IDE
- 9. Scripting
- 10. Viewing Data in the IDE
-
11. Working with Controls and Components
- 11.1. Understanding the Differences between Controls and Components
- 11.2. Defining the Control Types
- 11.3. Building Components
- 11.4. Testing Classes Using the Object Test Bench
- 11.5. Coding Your Application
-
12. Coding the Application
- 12.1. Using an Appropriate Naming Convention
- 12.2. Adding Command Line Functionality
- 12.3. Exiting the Application Properly
- 12.4. Relying on Custom Features
- 12.5. Coding Your Application
- 13. Considering the Documentation
- 14. Implementing Error Handling
- 15. Testing, Debugging, and Quality Assurance
-
16. Deploying the Application
- 16.1. Determining the Deployment Type
- 16.2. Selecting a Deployment Method
- 16.3. Choosing a Media Type
- 16.4. Performing the Deployment
- 16.5. Evaluating the Results
- 16.6. Coding Your Application
- 17. Supporting and Maintaining the Application
-
III. Speed, Reliability, and Security
- 18. Developing around the Performance Triangle
- 19. Considering Application Speed Implications
- 20. Considering Application Reliability Implications
- 21. Considering Application Security Implications
-
IV. Special Coding Methodologies
- 22. Serializing XML
-
23. Working with LINQ
- 23.1. Understanding LINQ Support in Visual Studio 2008
- 23.2. Defining the Basic Operators
- 23.3. Creating LINQ Queries
- 23.4. Using LINQ to Interact with Any Data Source
- 23.5. Implementing Your Design
- 24. Augmenting Applications Using F#
- 25. Creating Multithreaded Applications
- 26. Creating Reports and Other Output
-
27. Designing Low-Level Application Elements
- 27.1. Defining P/Invoke
-
27.2. Calling External Functions
- 27.2.1. Adding the Required Directives
- 27.2.2. Providing Structures, Enumerations, and Constants
- 27.2.3. Creating an External Function Reference
- 27.2.4. Working with Function Call Data
- 27.2.5. Using the External Function within Managed Code
- 27.2.6. Providing Error Handling
- 27.2.7. Obtaining and Displaying the Error Number
- 27.2.8. Using FormatMessage() to Translate the Error Number
- 27.3. Designing Data Structures
- 27.4. Implementing Your Design
-
V. Resources and Tools
- 28. Choosing Resources and Tools
- 29. Microsoft Resources and Tools
- 30. Third-Party Resources and Tools
- Glossary
Product information
- Title: Expert One-on-One™ C# Design and Development
- Author(s):
- Release date: March 2009
- Publisher(s): Wrox
- ISBN: 9780470415962
You might also like
book
C# 2010 for Programmers, Fourth Edition
The professional programmer’s Deitel® guide to C# 2010 and the powerful Microsoft® .NET 4 Framework Written …
book
C# 24-Hour Trainer, 2nd Edition
Quickly learn to program in C# programming with this unique book and video package C# 24-Hour …
book
C# 3.0 Design Patterns
If you want to speed up the development of your .NET applications, you're ready for C# …
book
C# 5.0 Programmer's Reference
Stay ahead of the game with this comprehensive guide to the C# programming language Well-known C# …