OOP: Building Reusable Components with Microsoft Visual Basic .NET
Kenneth L Spencer, Ken Spencer, Tom Eberhard, John Alexander
- 出版商: MicroSoft
- 出版日期: 2002-11-09
- 售價: $2,010
- 貴賓價: 9.5 折 $1,910
- 語言: 英文
- 頁數: 528
- 裝訂: Paperback
- ISBN: 0735613796
- ISBN-13: 9780735613799
-
相關分類:
.NET、Visual Basic
已絕版
買這商品的人也買了...
-
$7,250$6,888 -
$2,176Refactoring: Improving the Design of Existing Code (Hardcover)
-
$1,890$1,796 -
$2,610$2,480 -
$980$774 -
$970Introduction to Algorithms, 2/e
-
$1,330$1,260 -
$650$520 -
$1,090$1,068 -
$450$351 -
$2,340$2,223 -
$1,670$1,587 -
$620$558 -
$1,890$1,796 -
$600$474 -
$750$638 -
$620$558 -
$590$466 -
$1,710$1,625 -
$680$537 -
$580$568 -
$800$760 -
$560$504 -
$1,068Fundamentals of Database Systems, 4/e (IE)
-
$550$468
相關主題
商品描述
Description:
Discover how to design and build powerful, component-based applications quickly with Visual Basic .NET!
The Microsoft® .NET Framework collection of classes
and technologies dramatically shortens development cycles and reduces
development costs. Find out how to take advantage of this new development
environment with this hands-on primer about writing Visual Basic® .NET
components using the principles of object-oriented programming. It’s full of
proven, real-world strategies that’ll help you get more out of your scarce
coding resources. You’ll discover how to design and build powerful applications
of almost any size quickly from reusable, shared components that you can create
with Visual Basic .NET—or adapt from the samples included with the book. You’ll
learn about the latest changes to the language and the features that .NET brings
to the development process. You’ll also learn how to construct a rich,
object-oriented architecture for creating complex business applications from
reusable components. Topics covered include:
• Introduction to
object-oriented development
• Architecture and Microsoft .NET
• Exception
handling in the .NET Framework
• Implementing the various layers of an
application: data access, security, generic Web client handlers, menu handlers,
business rules, and facade
• Creating the user interface template
•
Building information pages and XML Web services
• Using remoting for
communication
• Wiring the application together
Table of Contents:
Acknowledgments | xv |
Introduction | xvii |
1 Introduction to Object-Oriented Development | 1 |
The .NET Framework | 2 |
Visual Studio .NET Support for Components | 6 |
General Language Changes in Visual Basic .NET | 8 |
Data Type Changes | 8 |
Arrays | 9 |
String Handling | 10 |
Structured Exception Handling | 12 |
Components, Classes, and Objects | 13 |
Components and Classes | 14 |
Class and Module Files | 16 |
Instantiating and Using Classes | 17 |
Structures | 19 |
Property Procedures | 20 |
Working with Methods | 21 |
Overloading Properties and Methods | 22 |
Overriding Existing Methods | 23 |
Events | 24 |
Interfaces and Implements | 25 |
Shared Members | 26 |
Namespaces | 26 |
Inheritance | 28 |
Deploying .NET Applications | 29 |
2 Architectural Options with .NET | 33 |
Choosing the Right Architecture | 34 |
Brief History of Software Architecture | 35 |
One-Tier Architecture | 35 |
Two-Tier Architecture | 36 |
Three-Tier Architecture | 39 |
Flexible n-Tier Architecture | 43 |
Solutions Using the .NET Framework | 50 |
User Interfaces | 51 |
Facade Functions | 53 |
Business Layer | 53 |
Data Access Layer | 54 |
Data Layer | 54 |
Analysis and Design | 54 |
3 Exception Handling in the .NET Framework | 59 |
The Exceptional News on .NET | 60 |
What Is Structured Exception Handling? | 61 |
Structured Exception Handling | 62 |
Object-Oriented Exception Handling | 62 |
The Syntax of the Try Statement | 63 |
Defining Exception-Handling Objects | 66 |
Guidelines for Defining Custom Exception Classes | 66 |
Defining a Custom Base Class for Exceptions | 68 |
Event Logging | 75 |
Exception-Handling Objects and Remoting | 78 |
Creating an Application Exception Class Hierarchy | 80 |
4 Implementing the Data Access Layer | 83 |
The Power of ADO.NET | 84 |
Performance | 84 |
Scalability | 84 |
XML Equals Interoperability | 85 |
Ease of Use | 85 |
Components of ADO.NET | 85 |
Connection Object | 87 |
Command Object | 88 |
DataReader Object | 91 |
DataSet Object | 93 |
The ADO.NET Data Access Object | 95 |
Why Have a Data Access Object? | 95 |
What Will the Data Access Object Do? | 96 |
Our Approach to Database Access and Usage | 97 |
Implementing the Data Access Object | 97 |
The Data Access Object as a Component | 97 |
Private Variables and Objects | 100 |
Constructors | 100 |
Properties | 101 |
The First Method: Running an SQL Statement and Returning a DataSet | 102 |
Exception Handling | 103 |
Logging Exceptions | 103 |
What Else? | 104 |
The Complete Code for the runSQLDataSet Method | 107 |
Using the Data Access Object | 118 |
Additional Questions About Data Access | 119 |
How Do We Handle Transactions? | 119 |
What About Data Concurrency? | 119 |
What About Connection Pooling? | 119 |
Can We Use Performance Counters? | 120 |
5 Implementing the Security Layer | 121 |
Overview of Relevant .NET Security Features | 122 |
Application Security Needs | 123 |
Forms Authentication Services | 124 |
Creating the Forms Authentication Architecture for an Application | 125 |
Configuring the Application | 126 |
Creating the Credentials Store | 128 |
Creating the Login Form | 129 |
Authorization Features | 134 |
Authorization Types in the .NET Framework | 135 |
Working with Role-Based Authorization | 135 |
URL Authorization | 138 |
The Security Layer | 138 |
Creating the SecurIt Component | 140 |
Creating the Secure ASP.NET Header | 148 |
Using the SecurIt Layer | 153 |
6 Implementing Generic Web Client Handlers | 157 |
User Interface Options with ASP.NET | 158 |
The Past | 158 |
The Present | 159 |
The Future | 161 |
Choosing Between User Controls and Custom Server Controls | 161 |
Building User Controls | 163 |
The Basics of User Controls | 164 |
Properties of User Controls | 167 |
Methods of User Controls | 171 |
Event Bubbling in User Controls | 173 |
Dynamically Loaded User Controls | 175 |
Building Custom Server Controls | 178 |
The Basics of Full Custom Server Controls | 179 |
Enhanced or Derived Custom Server Controls | 185 |
Enhanced ASP.NET DropDownList Server Control | 185 |
Highlighting the Selected Textbox Server Control | 188 |
Composite Server Controls | 192 |
Composite ASP.NET MyLabelTextBox Server Controls | 193 |
Enhanced Composite ASP.NET MyLabelTextBox Server Controls | 201 |
Events and Custom Server Controls | 205 |
Using Windows Forms Controls | 206 |
7 Implementing the Menu Handlers | 211 |
A Bit of Menu Strategy | 212 |
Our Approach to Designing Effective Menus | 214 |
Creating Menu and Navigation Bar Objects | 218 |
.NET Technology Used | 218 |
Designing the Control | 223 |
The MenuData Component | 224 |
The Main Menu Custom User Control | 229 |
The Navigation Bar Custom User Control | 231 |
Other Options for User Controls | 236 |
A Visual Basic .NET Windows Forms Example | 238 |
8 Implementing the Business Layer | 243 |
Why Do We Need a Business Layer? | 243 |
Designing Generic Business Objects | 244 |
Determining Business Rules | 246 |
Interacting with the Security Layer | 247 |
Interacting with the Data Access Layer | 248 |
Building and Determining Queries Based on Business Rules | 248 |
Get-Related Stored Procedures | 255 |
Insert-Related Stored Procedures | 257 |
Update-Related Stored Procedures | 259 |
Object-Oriented Features of Visual Basic .NET | 261 |
Constructors Revisited | 261 |
Overloading | 263 |
Overloaded Constructors | 264 |
Inheritance in HRnet | 265 |
9 Implementing Facade Layers | 271 |
Advantages of Facade Layers and Applications | 272 |
Designing the Facade Layers | 273 |
Building the Facade Objects | 275 |
The EmployeeHRObject Facade Class | 281 |
EmployeeCSObject Facade Class | 283 |
10 Creating the User Interface Template | 287 |
HRnet Sample Application Specifications | 288 |
HRnet Application Architecture | 288 |
HRnet Application Functionality | 289 |
Creating the HRnet Web Template | 294 |
The Web Template Layout | 294 |
The Web Template Files | 295 |
Starting the HRnet Application | 299 |
The HRnet Home Page | 301 |
Web Page Templates: The Other Option | 304 |
Additional Functionality | 310 |
Creating the HRnet Windows Forms Template | 311 |
The Base Forms | 312 |
The Final Data Entry Form | 315 |
Calling Code from Web Pages and Windows Forms | 315 |
11 Building Information Pages | 317 |
A Bit of User Interface Strategy | 318 |
Web-Based vs. Windows-Based Data Presentation Forms | 320 |
Data Presentation Forms | 321 |
ASP.NET DataGrid Control for List Forms | 321 |
Customizing the Default ASP.NET DataGrid Control | 325 |
Adding Functionality to a Custom DataGrid Control | 328 |
Adding Better Graphics | 332 |
Changing the Footer | 333 |
Adding the GoTo Function | 337 |
Adding Sorting Capabilities | 342 |
Adding Final Enhancements | 346 |
Showing Detail Information | 350 |
A One-Page Grid and Detail Form | 351 |
Grid and Detail Forms Separated | 356 |
Enhancing the Page Grid and Detail Form | 359 |
State Handling in the Detail Custom Server Control | 363 |
Scalability and Performance | 367 |
12 Implementing the Business Layer: XML Web Services | 373 |
Implementing XML Web Services | 374 |
Consuming XML Web Services | 376 |
Under the Proxy's Hood | 378 |
Using Publicly Available Services | 378 |
The WeatherInfo Web Control | 383 |
SOAP: Your XML Web Service's New Best Friend | 385 |
Currently Supported Protocols | 385 |
SOAP Document Structure | 386 |
Calling from the Client | 389 |
13 Using Remoting for Communication | 391 |
Starting Out | 391 |
Creating the Server | 393 |
Building Your First Remoting Client | 395 |
Building the Remote Host | 400 |
Windows Hoster | 400 |
Windows Service Hoster | 401 |
Remoting the Business Objects | 405 |
Security Layer | 406 |
Business Layer | 407 |
Remoting Deployment | 409 |
Creating the Client | 410 |
14 Wiring the Application Together | 417 |
Steps for Wiring the Application | 418 |
Step 1: Menu Structure and Templates | 419 |
Step 2: Security | 421 |
Step 3: The Home Page | 429 |
Step 4: Information and Data Pages | 437 |
An HRnet Windows Form: Titles | 454 |
Titles: DataGrid and Detail in One Windows Form | 454 |
Deploying an Application | 459 |
Deploy with XCOPY | 460 |
Deploy Global Files | 460 |
Deploy by Creating a Windows Installer Package | 463 |
Assemblies and Versioning | 465 |
INDEX | 469 |