Software Reusability

Programmers concentrate on crafting new classes and reusing existing classes. Many class libraries exist, and others are being developed worldwide. Software is then constructed from existing, well-defined, carefully tested, well-documented, portable, performancetuned, widely available components. This kind of software reusability speeds the development of powerful, high-quality software. Rapid application development (RAD) is of great interest today.

Microsoft provides C# programmers with thousands of classes in the .NET Framework Class Library to help them implement C# applications. The .NET Framework enables C# developers to work to achieve true reusability and rapid application development. C# programmers can focus on the task at hand when developing their applications and leave the lower-level details to the classes of the FCL. For example, to write an application that draws graphics, an FCL programmer does not require knowledge of graphics on every computer platform where the application will execute. Instead, the programmer can concentrate on learning .NET's graphics capabilities (which are quite substantial and growing) and write a C# application that draws the graphics, using FCL classes such as those in the System.Drawing namespace. When the application executes on a given computer, it is the job of the CLR to translate the MSIL commands compiled from the C# code into commands that the local computer can understand.

The FCL classes enable C# programmers to bring new applications to market faster by using preexisting, tested components. Not only does this reduce development time, it also improves the programmer's ability to debug and maintain applications. To take advantage of C#'s many capabilities, it is essential that programmers familiarize themselves with the variety of classes in the .NET Framework. There are many Web-based resources at msdn2.microsoft.com to help you with this task. The primary resource for learning about the FCL is the .NET Framework Reference in the MSDN library, which can be found at


In addition, msdn2.microsoft.com provides many other resources, including tutorials, articles and sites specific to individual C# topics.

Good Programming Practice 9 1

Avoid reinventing the wheel. Study the capabilities of the FCL. If the FCL contains a class that meets your application's requirements, use that class rather than create your own.

To realize the full potential of software reusability, we need to improve cataloging schemes, licensing schemes, protection mechanisms that prevent master copies of classes from being corrupted, description schemes that system designers use to determine whether existing classes meet their needs, browsing mechanisms that determine what classes are available and how closely they meet software developer requirements, and the like. Many interesting research and development problems have been solved and many more need to be solved. These problems will likely be solved because the potential value of increased software reuse is enormous.



    Introduction to Computers, the Internet and Visual C#

    Introduction to the Visual C# 2005 Express Edition IDE

    Introduction to C# Applications

    Introduction to Classes and Objects

    Control Statements: Part 1

    Control Statements: Part 2

    Methods: A Deeper Look


    Classes and Objects: A Deeper Look

    Object-Oriented Programming: Inheritance

    Polymorphism, Interfaces & Operator Overloading

    Exception Handling

    Graphical User Interface Concepts: Part 1

    Graphical User Interface Concepts: Part 2


    Strings, Characters and Regular Expressions

    Graphics and Multimedia

    Files and Streams

    Extensible Markup Language (XML)

    Database, SQL and ADO.NET

    ASP.NET 2.0, Web Forms and Web Controls

    Web Services

    Networking: Streams-Based Sockets and Datagrams

    Searching and Sorting

    Data Structures



    Appendix A. Operator Precedence Chart

    Appendix B. Number Systems

    Appendix C. Using the Visual Studio 2005 Debugger

    Appendix D. ASCII Character Set

    Appendix E. Unicode®

    Appendix F. Introduction to XHTML: Part 1

    Appendix G. Introduction to XHTML: Part 2

    Appendix H. HTML/XHTML Special Characters

    Appendix I. HTML/XHTML Colors

    Appendix J. ATM Case Study Code

    Appendix K. UML 2: Additional Diagram Types

    Appendix L. Simple Types


    Visual C# How to Program
    Visual C# 2005 How to Program (2nd Edition)
    ISBN: 0131525239
    EAN: 2147483647
    Year: 2004
    Pages: 600

    Similar book on Amazon

    Flylib.com © 2008-2020.
    If you may any questions please contact us: flylib@qtcs.net