售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Visual Studio 2010 Best Practices
Table of Contents
Visual Studio 2010 Best Practices
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Instant Updates on New Packt Books
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Working with Best Practices
Recommended practices
Intransitive "best" practices
Benefits of using practices
Avoiding pragmatic re-use
Reducing technical debt
Not invented here syndrome
Beyond practices
Using katas
Reaching kaizen
Aspects of a practice
Evaluating practices
Documenting practices
Geographic distribution
Team size
Regulatory compliance
Domain complexity
Organizational distribution
Technical complexity
Organizational complexity
Enterprise discipline
Life-cycle scope
Paradigm
Categorization
Creational
Structural
Behavioral
Integration
Procedural
Anti-patterns
In this book
Evolving practices—a collaborative effort
Axiomatic practices
Patterns
Why practices?
An empirical and not a defined process
Cross-cutting concerns
Focus on the value
The power of mantras
Summary
2. Source Code Control Practices
Terminology
Repository
SCC
Edit/merge/commit
Lock/edit/check-in
Trunk
Branch
Fork
Merge
Check-out
Check-in
Changeset
Lock
Commit
Push
Pull
Tag/label
Shelving/shelvesets
Principles
Recommended SCC software evaluation criteria
Workflow model
Total cost of ownership
Integration options
Team dynamics and location
Self or third-party hosting
Authentication
Organizing for source code control
Organizing directory structures
Solution structure
Continuous integration
Branching strategies
Isolation
Ad hoc isolation
Testing isolation
Release isolation
Feature isolation
Team isolation
Commit (check-in) practices
Merge remote changes before commit
Commit frequently
Atomic commits
Occasionally connected source control
Distributed source control
Summary
3. Low-level C# Practices
Working with generics
Limits of generics
Writing sequence and iterator members
Working with lambdas
Working with extension methods
Exception handling
Exceptions to the exception practices
Summary
4. Architectural Practices
Terms
Decoupling
Command Query Separation
Data Transfer Objects (DTO)
Single responsibility
Layering
Data-based applications
Object Relational Mappers (ORMs)
NoSQL
Document databases
Pulling it all together
Distributed architecture
Messaging
Data synchronization and events
DTOs Revisited
Summary
5. Recommended Practices for Deployment
Working with installers
Working with Windows Installer
Uninstalling
Visual Studio Setup and Deployment projects
Setup Wizard
Setup Project
Web Setup Project
Merge Module Project
CAB Project
File System
File types
User interface
Launch conditions
Custom actions
Drawbacks of Setup and Deployment Project
ClickOnce
Windows Installer XML (WiX)
Include files
Fragments
Migrating from Setup and Deployment projects
Integrating into Visual Studio
Setup Project
Merge Module Project
Setup Library Project
Bootstrapper Project
C# Custom Action Project
C++ Custom Action Project
Continuous integration
Silent installations
Testing
Summary
6. Automated Testing Practices
First principles
Related terms
Test-driven development
Red, Green, Refactor
I'm not a tester
Why automated?
Benefits
Continuous verification
Documentation
Caveats
Aspects of good tests
Repeatable
Independent
Verifies one thing
Simple
Readable
Fast
Reliable
Informative
Test naming
Separate test projects or not?
Test styles
Arrange, Act, Assert
Given, When, Then
Test types
State-based testing
Interaction testing
Object-orientation and tests
Fluent interfaces revisited
Mocking
Isolation frameworks
Methodologies
TDD
BDD
Test coverage
Continuous testing
Round-tripping requirements and acceptance
Summary
7. Optimizing Visual Studio
Visual Studio efficiency through configuration
Recommended computer specifications
Multi-monitor
Organizing projects
Organizing windows
Auto-hiding
Toolbars
Exceptional features
Exporting/backing up your custom look and feel
Add-ins and extensions
Productivity Power Tools
Searchable add references dialog
Quick Find
Solution Navigator
Resharper
Visual Studio efficiency through usage
Using the keyboard over the mouse
Dividing up solutions
Macros
Advanced search/replace
Playing nice with source code control
Tracked file in project/solution
Change build action
Solution items
Continuous integration
Tests
Build
Summary
8. Parallelization Practices
Principles
Threading primitives
Threading caveats
Other terminologies
Threads
Thread synchronization
Thread safety
Minding your invariants
Thread synchronization and locking
Locking
Lock-free synchronization
Volatile
Interlocked
Advanced synchronization
Mutex
Semaphore
WaitHandle
Reset events
Asynchronous operations
Asynchronous Design Pattern
Event-based Asynchronous Pattern
Division of labor
Task Parallel Library
Tasks
Execution
Parallelization
Working with Asynchronous Design Pattern
Continuations
Visual Studio 2012 asynchronous programming
The Task-based Asynchronous Pattern
Reactive Extensions
Summary
9. Distributed Applications
Seeking scalability
Design options
Communicating via a database
Messaging pattern
Message queues
Command-query separation
Message bus
Service bus
Cloud
Infrastructure as a Service
Platform as a Service
Software as a Service
TCP/UDP
Debugging
Logging
What to log
Health monitoring
Proactive monitoring
Summary
10. Web Service Recommended Practices
Implementing WCF services
Editing configuration
Hosting
Hosting WCF services in IIS
Windows service WCF self-hosting
WCF self-hosted
Manual testing
Authentication and authorization
Different transport options
ASP.NET Web Services
Authentication and authorization
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜