Difference between revisions of "OOP Class14"

esse quam videri
Jump to: navigation, search
(Exta Sruff)
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:OOP]]
+
[[Category:IAM Classes]]
  
==Extra Stuff==
+
==Parallel==
 +
http://msdn.microsoft.com/en-us/library/dd460713(v=vs.110).aspx
  
 +
samples: http://code.msdn.microsoft.com/windowsdesktop/Samples-for-Parallel-b4b76364
 +
 +
for
 +
<syntaxhighlight lang="csharp">
 +
int count = 20;
 +
int[] ints = new int[count];
 +
for (int i = 0; i < count; i++)
 +
                {
 +
                    shorts[i] = 1;
 +
                }
 +
 +
//sample Parallel.For
 +
int[] intP = new int[count];
 +
Parallel.For(0, count, i =>
 +
                    {
 +
                        intP[i] = 1;
 +
                    });
 +
</syntaxhighlight>
 +
 +
Demo
 +
 +
http://iam.colum.edu/oop/classsource/class15/AsyncConsoleApplication.zip
 +
 +
http://iam.colum.edu/oop/classsource/class15/WindowsFormsApplicationAsync.zip
 +
 +
==Async==
 +
http://msdn.microsoft.com/en-us/library/hh191443.aspx
 +
<syntaxhighlight lang="csharp">
 +
private void buttonBlock_Click(object sender, EventArgs e)
 +
        {
 +
            textBox1.Text =  DoLongCount();
 +
        }
 +
 +
        //Async call to async method
 +
        private async void buttonAsync_Click(object sender, EventArgs e)
 +
        {
 +
            textBox1.Text = await DoLongAsyncCount();
 +
        }
 +
 +
        private string DoLongCount()
 +
        {
 +
            System.Threading.Thread.Sleep(1000);
 +
            Count++;
 +
            return "count is " + Count;
 +
        }
 +
 +
        //Async Task
 +
        private async Task<string> DoLongAsyncCount()
 +
        {
 +
            await Task.Delay(1000);
 +
            Count++;
 +
            return "count is " + Count;
 +
        }
 +
</syntaxhighlight>
 +
 +
 +
<!--
 
==File IO==
 
==File IO==
  
 
===write file===
 
===write file===
<csharp>string fileName = "test.txt";
+
<syntaxhighlight lang="csharp">   string fileName = "test.txt";
 
             string folderPath = "c:\\user\\";   
 
             string folderPath = "c:\\user\\";   
  
Line 25: Line 83:
 
             sw.Write("Hello World!!!");
 
             sw.Write("Hello World!!!");
 
             sw.Close();                                  //close writer
 
             sw.Close();                                  //close writer
             fs.Close();                                  //close file stream</csharp>
+
             fs.Close();                                  //close file stream</syntaxhighlight>
  
 
http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/hellowrite.cs
 
http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/hellowrite.cs
  
 
===read file===
 
===read file===
<csharp>StreamReader sr = new StreamReader(fs);
+
<syntaxhighlight lang="csharp">   StreamReader sr = new StreamReader(fs);
 
             while( sr.Peek() > -1 )
 
             while( sr.Peek() > -1 )
 
             {
 
             {
 
                 Console.WriteLine(sr.ReadLine());
 
                 Console.WriteLine(sr.ReadLine());
 
             }
 
             }
             sr.Close();</csharp>
+
             sr.Close();</syntaxhighlight>
  
 
http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/echoFile.cs
 
http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/echoFile.cs
Line 45: Line 103:
  
 
===Send Mail===
 
===Send Mail===
<csharp><% @Page Language="C#" %>
+
<syntaxhighlight lang="csharp"><% @Page Language="C#" %>
 
<% @Import Namespace="System.Web.Mail" %>
 
<% @Import Namespace="System.Web.Mail" %>
 
<%
 
<%
Line 58: Line 116:
 
     SmtpMail.SmtpServer = "localhost";
 
     SmtpMail.SmtpServer = "localhost";
 
     SmtpMail.Send(strFrom, strTo, strSubject, strBody);
 
     SmtpMail.Send(strFrom, strTo, strSubject, strBody);
%></csharp>
+
%></syntaxhighlight>
 
http://iam.colum.edu/oop/classsource/class14/mail.aspx
 
http://iam.colum.edu/oop/classsource/class14/mail.aspx
 
[[http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/mail.aspx -source]]
 
[[http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/mail.aspx -source]]
Line 82: Line 140:
 
             enableVersionHeader="[true|false]" - outputs X-AspNet-Version header with each request
 
             enableVersionHeader="[true|false]" - outputs X-AspNet-Version header with each request
 
         -->
 
         -->
 +
<!--
 
         <httpRuntime
 
         <httpRuntime
 
             executionTimeout="1200"
 
             executionTimeout="1200"
Line 91: Line 150:
  
 
multipart form
 
multipart form
<csharp>
+
<syntaxhighlight lang="csharp">
 
<form enctype="multipart/form-data" runat="server">
 
<form enctype="multipart/form-data" runat="server">
 
<tr>
 
<tr>
Line 105: Line 164:
 
</tr>
 
</tr>
 
</form>
 
</form>
</csharp>
+
</syntaxhighlight>
  
 
Parse the multipart form and save the file msdn library. System.Web.HtmlInputFile.PostedFile Property
 
Parse the multipart form and save the file msdn library. System.Web.HtmlInputFile.PostedFile Property
  
<csharp>
+
<syntaxhighlight lang="csharp">
 
void btnUploadTheFile_Click(object Source, EventArgs evArgs)  
 
void btnUploadTheFile_Click(object Source, EventArgs evArgs)  
 
{
 
{
 
     //Path to save file
 
     //Path to save file
     string strBaseLocation = "c:\\infod\\dangerdanger\\upload\\";
+
     string strBaseLocation = "";
 
      
 
      
 
     if (null != myfile.PostedFile)  
 
     if (null != myfile.PostedFile)  
Line 138: Line 197:
 
     }
 
     }
 
}
 
}
</csharp>
+
</syntaxhighlight>
  
 
http://iam.colum.edu/oop/classsource/class14/up.aspx
 
http://iam.colum.edu/oop/classsource/class14/up.aspx
 
[[http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/up.aspx up.aspx - source]]
 
[[http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/up.aspx up.aspx - source]]
 
[[http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/web.config web.config - source]]
 
[[http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/web.config web.config - source]]
 
+
-->
 
==Final Review==
 
==Final Review==
  
Be very familar with c# syntax
+
[[OOP Final Review]]
 
 
Understand Classes and inhertance.
 
 
 
Use some advanced class features such as abstract classes and virual methods that are overridden
 
 
 
Understand class relationships
 
  
Is A
+
*Be very familiar with c# syntax
Has A
+
**Basic object types (int, bool, string)
Uses A
+
**Conditional and Branching statements
 +
**Arrays and Generics ie List
 +
*Understand Classes and Inheritance.
 +
*Use some advanced class features such as abstract classes and virtual methods that are overridden
  
Be able to read UML Diagrams
+
*Understand class relationships
 +
**Is A
 +
**Has A
 +
**Uses A
  
 +
*Understand Encapsulation, Abstraction and Polymorphism
 +
**Abstraction
 +
:Each class should abstract its behavior in order to increase usability, reuse, and organization.
 +
**Encapsulation
 +
:Each class should contain all of the properties and methods it needs. It should only expose what is necessary to outside classes.
 +
**Polymorphism
 +
:many forms, same code interface but interchangeable classes
 +
*Be able to read and create UML Diagrams
  
 +
*Be able to recognize and use simple design patters
  
class 14
+
The final will be consist of two sections the writtens section and the practical section. The practical section will be open everything excpet open mouth (yes open note open book open web). You will not be ablt to use any of theese resources during the written section.

Latest revision as of 16:32, 10 June 2019


Parallel

http://msdn.microsoft.com/en-us/library/dd460713(v=vs.110).aspx

samples: http://code.msdn.microsoft.com/windowsdesktop/Samples-for-Parallel-b4b76364

for

int count = 20;
int[] ints = new int[count];
for (int i = 0; i < count; i++)
                {
                    shorts[i] = 1;
                }

//sample Parallel.For
int[] intP = new int[count];
Parallel.For(0, count, i =>
                    {
                        intP[i] = 1;
                    });

Demo

http://iam.colum.edu/oop/classsource/class15/AsyncConsoleApplication.zip

http://iam.colum.edu/oop/classsource/class15/WindowsFormsApplicationAsync.zip

Async

http://msdn.microsoft.com/en-us/library/hh191443.aspx

private void buttonBlock_Click(object sender, EventArgs e)
        {
            textBox1.Text =  DoLongCount();
        }

        //Async call to async method
        private async void buttonAsync_Click(object sender, EventArgs e)
        {
            textBox1.Text = await DoLongAsyncCount();
        }

        private string DoLongCount()
        {
            System.Threading.Thread.Sleep(1000);
            Count++;
            return "count is " + Count;
        }

        //Async Task
        private async Task<string> DoLongAsyncCount()
        {
            await Task.Delay(1000);
            Count++;
            return "count is " + Count;
        }


Final Review

OOP Final Review

  • Be very familiar with c# syntax
    • Basic object types (int, bool, string)
    • Conditional and Branching statements
    • Arrays and Generics ie List
  • Understand Classes and Inheritance.
  • Use some advanced class features such as abstract classes and virtual methods that are overridden
  • Understand class relationships
    • Is A
    • Has A
    • Uses A
  • Understand Encapsulation, Abstraction and Polymorphism
    • Abstraction
Each class should abstract its behavior in order to increase usability, reuse, and organization.
    • Encapsulation
Each class should contain all of the properties and methods it needs. It should only expose what is necessary to outside classes.
    • Polymorphism
many forms, same code interface but interchangeable classes
  • Be able to read and create UML Diagrams
  • Be able to recognize and use simple design patters

The final will be consist of two sections the writtens section and the practical section. The practical section will be open everything excpet open mouth (yes open note open book open web). You will not be ablt to use any of theese resources during the written section.