Reformat program to have constructors ?
The program works in its current for but I would like to find a different way to do this using constructors and such. How would I be able to do this? Here is a sample UML for what I am trying to do.
![UML][1]
    
      public static class IsbnConsole
    {
       public static void Main(string[] args)
        {
            Console.Write("Enter a valid 10 digit ISBN Number ");
            string isbn = checkIsbnClass.DestabilizeIsbn(Console.ReadLine()); // Normalizes the input and puts it on string "str"
            if (isbn.Length > 10 || isbn.Length < 9) // If the string length is greather than 10, or smaller than 9
            {
                Console.WriteLine("The number you have entered is not a valid ISBN try again."); // Print invalid number
                Console.ReadLine();
            }
            else if (isbn.Length == 10) // If the length is 10
            {
                if (checkIsbnClass.CheckNumber(isbn)) // If function CheckNum return "true"...
                    Console.WriteLine("The number you have entered is a Valid ISBN");
                    
                else // If it returns "false"...
                    Console.WriteLine("The number you have entered is not a valid ISBN try again.");
                    Console.ReadLine();
            }
            else // Else (If the number is NOT greater than 10 or smaller than 9, NOR is it 10 -> If the number is 9)
            {
                Console.WriteLine("The Check digit that corresponds to this ISBN number is " + checkIsbnClass.CheckIsbn(isbn) + "."); // Print the checksum digit
                Console.ReadLine();
            }
    
      public static class checkIsbnClass
    { 
    
    public static string CheckIsbn(string isbn) // Calculates the 10th digit of a 9-digits partial ISBN number
        {
            int sum = 0;
            for (int i = 0; i < 9; i++) // For each number...
            {
                sum += int.Parse(isbn[i].ToString()) * (i + 1); // ...Multiply the number by it's location in the string
            }
            if ((sum % 11) == 10) // If the remainder equals to 10...
            {
                return "x"; // Output X
            }
            else // If it does not equal to 10...
            {
                return (sum % 11).ToString(); // Output the number
            }
        }
      public static bool CheckNumber(string isbn) // Checks if the checksum digit is correct
        {
            if (isbn[9].ToString() == CheckIsbn(isbn)) // If the 10th digit of the number is the same as the calculated digit...
                return true;
            else // If they're not the same...
                return false;
        }
      public static string DestabilizeIsbn(string isbn) // replace the string
      {
          return isbn.Replace("-", "").Replace(" ", "");
      }


  [1]: http://i.stack.imgur.com/SQHK4.jpg
Reformat program to have constructors ?
===

The program works in its current for but I would like to find a different way to do this using constructors and such. How would I be able to do this? Here is a sample UML for what I am trying to do.
![UML][1]
    
      public static class IsbnConsole
    {
       public static void Main(string[] args)
        {
            Console.Write("Enter a valid 10 digit ISBN Number ");
            string isbn = checkIsbnClass.DestabilizeIsbn(Console.ReadLine()); // Normalizes the input and puts it on string "str"
            if (isbn.Length > 10 || isbn.Length < 9) // If the string length is greather than 10, or smaller than 9
            {
                Console.WriteLine("The number you have entered is not a valid ISBN try again."); // Print invalid number
                Console.ReadLine();
            }
            else if (isbn.Length == 10) // If the length is 10
            {
                if (checkIsbnClass.CheckNumber(isbn)) // If function CheckNum return "true"...
                    Console.WriteLine("The number you have entered is a Valid ISBN");
                    
                else // If it returns "false"...
                    Console.WriteLine("The number you have entered is not a valid ISBN try again.");
                    Console.ReadLine();
            }
            else // Else (If the number is NOT greater than 10 or smaller than 9, NOR is it 10 -> If the number is 9)
            {
                Console.WriteLine("The Check digit that corresponds to this ISBN number is " + checkIsbnClass.CheckIsbn(isbn) + "."); // Print the checksum digit
                Console.ReadLine();
            }
    
      public static class checkIsbnClass
    { 
    
    public static string CheckIsbn(string isbn) // Calculates the 10th digit of a 9-digits partial ISBN number
        {
            int sum = 0;
            for (int i = 0; i < 9; i++) // For each number...
            {
                sum += int.Parse(isbn[i].ToString()) * (i + 1); // ...Multiply the number by it's location in the string
            }
            if ((sum % 11) == 10) // If the remainder equals to 10...
            {
                return "x"; // Output X
            }
            else // If it does not equal to 10...
            {
                return (sum % 11).ToString(); // Output the number
            }
        }
      public static bool CheckNumber(string isbn) // Checks if the checksum digit is correct
        {
            if (isbn[9].ToString() == CheckIsbn(isbn)) // If the 10th digit of the number is the same as the calculated digit...
                return true;
            else // If they're not the same...
                return false;
        }
      public static string DestabilizeIsbn(string isbn) // replace the string
      {
          return isbn.Replace("-", "").Replace(" ", "");
      }


  [1]: http://i.stack.imgur.com/SQHK4.jpg