<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>.NET - A Personal Blog</title>
<link>https://farid.partonia.ir/</link>
<atom:link href="://farid.partonia.ir/index.php?category=programming%2Fdot-net-framework&amp;do=cat&amp;mod=rss" rel="self" type="application/rss+xml" />
<language>en</language>
<description>.NET - A Personal Blog</description>[shortrss]<item turbo="{allow-turbo}">
<title>ML.NET: Credit Card Fraud Detection</title>
<guid isPermaLink="true">https://farid.partonia.ir/index.php?newsid=14</guid>
<link>https://farid.partonia.ir/index.php?newsid=14</link>
<description><p>As we know, ML.NET is an <b>open-source</b> and <b>cross-platform</b> (Windows, macOS, Linux) machine learning framework in which you can create custom ML models using C# or F# without having to leave the .NET ecosystem.<br>ML.NET lets reusing all the knowledge, skills, code, and libraries you already have as a .NET developer so that you can easily integrate machine learning into your web, mobile, desktop, games, and IoT apps.<br>Moreover, it has been designed as an extensible platform so that you can consume other popular ML frameworks (TensorFlow, ONNX, Infer.NET, and more) and have access to even more machine learning scenarios, like image classification, object detection, and more.<br>Finally, according to Microsoft's tests, it has high performance and accuracy. <br>Using a 9GB Amazon review data set, ML.NET trained a sentiment analysis model with 95% accuracy. Other popular machine learning frameworks failed to process the dataset due to memory errors. Training on 10% of the data set, to let all the frameworks complete training, ML.NET demonstrated the highest speed and accuracy.<br>I will discuss the fundamentals of ML.NET, explore some sample codes, and explain the basics of the Microsoft Machine-Learning framework with a sample code.</p></description>
[allow-turbo]<turbo:content><![CDATA[<p>The starting point for any ML.NET app is a class named MLContext. It begins by creating a new instance of MLContext class, and when you do so, you have the option to seed for a random number generator.<br>If you don't specify a seed, you'll get different results each time you train and score the model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L18"></div> <h1 class="kb kc gr bf kd ke kf ja kg kh ki je kj kk kl km kn ko kp kq kr ks kt ku kv kw ho" id="9119">Loading a data set and creating a data pipeline</h1> <p class="iv iw gr ix b iy kx ja jb jc ky je jf jg kz ji jj jk la jm jn jo lb jq jr js gk ho" id="e944">Preprocessing data in ML.NET is unique and different from other frameworks because it requires an explicit class of our data structure. To do so, we create a class called<span> InputModel</span>, and we will state all the columns of our data set.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho" id="6841">For this article, we have used the<span> </span><a class="ek jt" href="https://www.kaggle.com/mlg-ulb/creditcardfraud" rel="nofollow noopener ugc external" target="_blank">Credit Card Fraud Detection</a> data set from <a href="https://www.kaggle.com/datasets" target="_blank" rel="noopener external">Kaggle</a>. This data set contains 31 columns. The class of the transaction, either 0 or 1, the amount of the transaction, the time the transaction occurred, and 28 other columns.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelInput.cs"></div> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"><span>Now that we have our data modeled, we need also to model what our output should look like; The below script can achieve this.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelOutput.cs"></div> <p><span>The next step should be loading downloaded .csv data; Having defined model input and datafile path, and other constructor options.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L24-L30"></div> <p>Afterward, we will define the data process configuration with pipeline data transformations.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L32-L36"></div> <h1>Training and saving the Model</h1> <p>Next, setting the training algorithm and evaluating the quality of the Model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Program.cs#L11"></div> <p>Usage of the saved model and prediction of credit card fraud are included in <b>program.cs</b> on <a href="https://github.com/ymg2006/ML.NET-AnomalyDetection" target="_blank" rel="noopener external">Github page</a>.</p>]]></turbo:content>[/allow-turbo]
<category>AI, .NET</category>
<dc:creator>FariD</dc:creator>
<pubDate>Tue, 28 Sep 2021 09:04:52 +0330</pubDate>
</item>[/shortrss]
[fullrss]<item turbo="{allow-turbo}">
<title>ML.NET: Credit Card Fraud Detection</title>
<guid isPermaLink="true">https://farid.partonia.ir/index.php?newsid=14</guid>
<link>https://farid.partonia.ir/index.php?newsid=14</link>
<category><![CDATA[AI, .NET]]></category>
<dc:creator>FariD</dc:creator>
<pubDate>Tue, 28 Sep 2021 09:04:52 +0330</pubDate>
<description><![CDATA[<p>As we know, ML.NET is an <b>open-source</b> and <b>cross-platform</b> (Windows, macOS, Linux) machine learning framework in which you can create custom ML models using C# or F# without having to leave the .NET ecosystem.<br>ML.NET lets reusing all the knowledge, skills, code, and libraries you already have as a .NET developer so that you can easily integrate machine learning into your web, mobile, desktop, games, and IoT apps.<br>Moreover, it has been designed as an extensible platform so that you can consume other popular ML frameworks (TensorFlow, ONNX, Infer.NET, and more) and have access to even more machine learning scenarios, like image classification, object detection, and more.<br>Finally, according to Microsoft's tests, it has high performance and accuracy. <br>Using a 9GB Amazon review data set, ML.NET trained a sentiment analysis model with 95% accuracy. Other popular machine learning frameworks failed to process the dataset due to memory errors. Training on 10% of the data set, to let all the frameworks complete training, ML.NET demonstrated the highest speed and accuracy.<br>I will discuss the fundamentals of ML.NET, explore some sample codes, and explain the basics of the Microsoft Machine-Learning framework with a sample code.</p>]]></description>
[allow-turbo]<turbo:content><![CDATA[<p>The starting point for any ML.NET app is a class named MLContext. It begins by creating a new instance of MLContext class, and when you do so, you have the option to seed for a random number generator.<br>If you don't specify a seed, you'll get different results each time you train and score the model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L18"></div> <h1 class="kb kc gr bf kd ke kf ja kg kh ki je kj kk kl km kn ko kp kq kr ks kt ku kv kw ho" id="9119">Loading a data set and creating a data pipeline</h1> <p class="iv iw gr ix b iy kx ja jb jc ky je jf jg kz ji jj jk la jm jn jo lb jq jr js gk ho" id="e944">Preprocessing data in ML.NET is unique and different from other frameworks because it requires an explicit class of our data structure. To do so, we create a class called<span> InputModel</span>, and we will state all the columns of our data set.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho" id="6841">For this article, we have used the<span> </span><a class="ek jt" href="https://www.kaggle.com/mlg-ulb/creditcardfraud" rel="nofollow noopener ugc external" target="_blank">Credit Card Fraud Detection</a> data set from <a href="https://www.kaggle.com/datasets" target="_blank" rel="noopener external">Kaggle</a>. This data set contains 31 columns. The class of the transaction, either 0 or 1, the amount of the transaction, the time the transaction occurred, and 28 other columns.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelInput.cs"></div> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"><span>Now that we have our data modeled, we need also to model what our output should look like; The below script can achieve this.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelOutput.cs"></div> <p><span>The next step should be loading downloaded .csv data; Having defined model input and datafile path, and other constructor options.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L24-L30"></div> <p>Afterward, we will define the data process configuration with pipeline data transformations.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L32-L36"></div> <h1>Training and saving the Model</h1> <p>Next, setting the training algorithm and evaluating the quality of the Model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Program.cs#L11"></div> <p>Usage of the saved model and prediction of credit card fraud are included in <b>program.cs</b> on <a href="https://github.com/ymg2006/ML.NET-AnomalyDetection" target="_blank" rel="noopener external">Github page</a>.</p>]]></turbo:content>[/allow-turbo]
[allow-dzen]<content:encoded><![CDATA[<p>The starting point for any ML.NET app is a class named MLContext. It begins by creating a new instance of MLContext class, and when you do so, you have the option to seed for a random number generator.<br>If you don't specify a seed, you'll get different results each time you train and score the model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L18"></div> <h1 class="kb kc gr bf kd ke kf ja kg kh ki je kj kk kl km kn ko kp kq kr ks kt ku kv kw ho" id="9119">Loading a data set and creating a data pipeline</h1> <p class="iv iw gr ix b iy kx ja jb jc ky je jf jg kz ji jj jk la jm jn jo lb jq jr js gk ho" id="e944">Preprocessing data in ML.NET is unique and different from other frameworks because it requires an explicit class of our data structure. To do so, we create a class called<span> InputModel</span>, and we will state all the columns of our data set.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho" id="6841">For this article, we have used the<span> </span><a class="ek jt" href="https://www.kaggle.com/mlg-ulb/creditcardfraud" rel="nofollow noopener ugc external" target="_blank">Credit Card Fraud Detection</a> data set from <a href="https://www.kaggle.com/datasets" target="_blank" rel="noopener external">Kaggle</a>. This data set contains 31 columns. The class of the transaction, either 0 or 1, the amount of the transaction, the time the transaction occurred, and 28 other columns.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelInput.cs"></div> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"><span>Now that we have our data modeled, we need also to model what our output should look like; The below script can achieve this.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelOutput.cs"></div> <p><span>The next step should be loading downloaded .csv data; Having defined model input and datafile path, and other constructor options.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L24-L30"></div> <p>Afterward, we will define the data process configuration with pipeline data transformations.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L32-L36"></div> <h1>Training and saving the Model</h1> <p>Next, setting the training algorithm and evaluating the quality of the Model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Program.cs#L11"></div> <p>Usage of the saved model and prediction of credit card fraud are included in <b>program.cs</b> on <a href="https://github.com/ymg2006/ML.NET-AnomalyDetection" target="_blank" rel="noopener external">Github page</a>.</p>]]></content:encoded>[/allow-dzen]
</item>[/fullrss]
[yandexrss]<item turbo="{allow-turbo}">
<title>ML.NET: Credit Card Fraud Detection</title>
<link>https://farid.partonia.ir/index.php?newsid=14</link>
<description><p>As we know, ML.NET is an <b>open-source</b> and <b>cross-platform</b> (Windows, macOS, Linux) machine learning framework in which you can create custom ML models using C# or F# without having to leave the .NET ecosystem.<br>ML.NET lets reusing all the knowledge, skills, code, and libraries you already have as a .NET developer so that you can easily integrate machine learning into your web, mobile, desktop, games, and IoT apps.<br>Moreover, it has been designed as an extensible platform so that you can consume other popular ML frameworks (TensorFlow, ONNX, Infer.NET, and more) and have access to even more machine learning scenarios, like image classification, object detection, and more.<br>Finally, according to Microsoft's tests, it has high performance and accuracy. <br>Using a 9GB Amazon review data set, ML.NET trained a sentiment analysis model with 95% accuracy. Other popular machine learning frameworks failed to process the dataset due to memory errors. Training on 10% of the data set, to let all the frameworks complete training, ML.NET demonstrated the highest speed and accuracy.<br>I will discuss the fundamentals of ML.NET, explore some sample codes, and explain the basics of the Microsoft Machine-Learning framework with a sample code.</p></description>
<category>AI, .NET</category>
<pubDate>Tue, 28 Sep 2021 09:04:52 +0330</pubDate>
<yandex:full-text><p>The starting point for any ML.NET app is a class named MLContext. It begins by creating a new instance of MLContext class, and when you do so, you have the option to seed for a random number generator.<br>If you don't specify a seed, you'll get different results each time you train and score the model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L18"></div> <h1 class="kb kc gr bf kd ke kf ja kg kh ki je kj kk kl km kn ko kp kq kr ks kt ku kv kw ho" id="9119">Loading a data set and creating a data pipeline</h1> <p class="iv iw gr ix b iy kx ja jb jc ky je jf jg kz ji jj jk la jm jn jo lb jq jr js gk ho" id="e944">Preprocessing data in ML.NET is unique and different from other frameworks because it requires an explicit class of our data structure. To do so, we create a class called<span> InputModel</span>, and we will state all the columns of our data set.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho" id="6841">For this article, we have used the<span> </span><a class="ek jt" href="https://www.kaggle.com/mlg-ulb/creditcardfraud" rel="nofollow noopener ugc external" target="_blank">Credit Card Fraud Detection</a> data set from <a href="https://www.kaggle.com/datasets" target="_blank" rel="noopener external">Kaggle</a>. This data set contains 31 columns. The class of the transaction, either 0 or 1, the amount of the transaction, the time the transaction occurred, and 28 other columns.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelInput.cs"></div> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"><span>Now that we have our data modeled, we need also to model what our output should look like; The below script can achieve this.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelOutput.cs"></div> <p><span>The next step should be loading downloaded .csv data; Having defined model input and datafile path, and other constructor options.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L24-L30"></div> <p>Afterward, we will define the data process configuration with pipeline data transformations.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L32-L36"></div> <h1>Training and saving the Model</h1> <p>Next, setting the training algorithm and evaluating the quality of the Model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Program.cs#L11"></div> <p>Usage of the saved model and prediction of credit card fraud are included in <b>program.cs</b> on <a href="https://github.com/ymg2006/ML.NET-AnomalyDetection" target="_blank" rel="noopener external">Github page</a>.</p></yandex:full-text>
[allow-turbo]<turbo:content><![CDATA[<p>The starting point for any ML.NET app is a class named MLContext. It begins by creating a new instance of MLContext class, and when you do so, you have the option to seed for a random number generator.<br>If you don't specify a seed, you'll get different results each time you train and score the model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L18"></div> <h1 class="kb kc gr bf kd ke kf ja kg kh ki je kj kk kl km kn ko kp kq kr ks kt ku kv kw ho" id="9119">Loading a data set and creating a data pipeline</h1> <p class="iv iw gr ix b iy kx ja jb jc ky je jf jg kz ji jj jk la jm jn jo lb jq jr js gk ho" id="e944">Preprocessing data in ML.NET is unique and different from other frameworks because it requires an explicit class of our data structure. To do so, we create a class called<span> InputModel</span>, and we will state all the columns of our data set.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho" id="6841">For this article, we have used the<span> </span><a class="ek jt" href="https://www.kaggle.com/mlg-ulb/creditcardfraud" rel="nofollow noopener ugc external" target="_blank">Credit Card Fraud Detection</a> data set from <a href="https://www.kaggle.com/datasets" target="_blank" rel="noopener external">Kaggle</a>. This data set contains 31 columns. The class of the transaction, either 0 or 1, the amount of the transaction, the time the transaction occurred, and 28 other columns.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelInput.cs"></div> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"><span>Now that we have our data modeled, we need also to model what our output should look like; The below script can achieve this.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelOutput.cs"></div> <p><span>The next step should be loading downloaded .csv data; Having defined model input and datafile path, and other constructor options.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L24-L30"></div> <p>Afterward, we will define the data process configuration with pipeline data transformations.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L32-L36"></div> <h1>Training and saving the Model</h1> <p>Next, setting the training algorithm and evaluating the quality of the Model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Program.cs#L11"></div> <p>Usage of the saved model and prediction of credit card fraud are included in <b>program.cs</b> on <a href="https://github.com/ymg2006/ML.NET-AnomalyDetection" target="_blank" rel="noopener external">Github page</a>.</p>]]></turbo:content>[/allow-turbo]
[allow-dzen]<content:encoded><![CDATA[<p>The starting point for any ML.NET app is a class named MLContext. It begins by creating a new instance of MLContext class, and when you do so, you have the option to seed for a random number generator.<br>If you don't specify a seed, you'll get different results each time you train and score the model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L18"></div> <h1 class="kb kc gr bf kd ke kf ja kg kh ki je kj kk kl km kn ko kp kq kr ks kt ku kv kw ho" id="9119">Loading a data set and creating a data pipeline</h1> <p class="iv iw gr ix b iy kx ja jb jc ky je jf jg kz ji jj jk la jm jn jo lb jq jr js gk ho" id="e944">Preprocessing data in ML.NET is unique and different from other frameworks because it requires an explicit class of our data structure. To do so, we create a class called<span> InputModel</span>, and we will state all the columns of our data set.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho" id="6841">For this article, we have used the<span> </span><a class="ek jt" href="https://www.kaggle.com/mlg-ulb/creditcardfraud" rel="nofollow noopener ugc external" target="_blank">Credit Card Fraud Detection</a> data set from <a href="https://www.kaggle.com/datasets" target="_blank" rel="noopener external">Kaggle</a>. This data set contains 31 columns. The class of the transaction, either 0 or 1, the amount of the transaction, the time the transaction occurred, and 28 other columns.</p> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelInput.cs"></div> <p class="iv iw gr ix b iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js gk ho"><span>Now that we have our data modeled, we need also to model what our output should look like; The below script can achieve this.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelOutput.cs"></div> <p><span>The next step should be loading downloaded .csv data; Having defined model input and datafile path, and other constructor options.</span></p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L24-L30"></div> <p>Afterward, we will define the data process configuration with pipeline data transformations.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Data/ModelBuilder.cs#L32-L36"></div> <h1>Training and saving the Model</h1> <p>Next, setting the training algorithm and evaluating the quality of the Model.</p> <div id="emgh--ymg2006--ML.NET-AnomalyDetection--master--Credit%20Card%20Fraud%20Detection/Program.cs#L11"></div> <p>Usage of the saved model and prediction of credit card fraud are included in <b>program.cs</b> on <a href="https://github.com/ymg2006/ML.NET-AnomalyDetection" target="_blank" rel="noopener external">Github page</a>.</p>]]></content:encoded>[/allow-dzen]
</item>[/yandexrss][shortrss]<item turbo="{allow-turbo}">
<title>Design patterns concepts</title>
<guid isPermaLink="true">https://farid.partonia.ir/index.php?newsid=5</guid>
<link>https://farid.partonia.ir/index.php?newsid=5</link>
<description><p>This was the start of my journey in C#; it was delightful to code with standard design patterns and make scalable software. </p> <p>Design patterns are solutions to software design problems you find again and again in real-world application development. Patterns are about reusable designs and interactions of objects.</p> <p>Before diving into this article, it is highly recommended to look at Unified Modeling Language cheat sheet.</p> <p><img src="https://i.postimg.cc/pLRjCHmx/Uml-classes-en.png" width="365" height="240" alt="" class="fr-fic fr-dib"></p> <p><br></p></description>
[allow-turbo]<turbo:content><![CDATA[<h1>Creational</h1> <p>Creational patterns are ones that create objects, rather than having to instantiate objects directly. This gives the program more flexibility in deciding which objects need to be created for a given case.</p> <h2>Abstract factory</h2> <p>Groups object factories that have a common theme.</p> <p><i>The abstract factory pattern is a design pattern that allows for the creation of groups of related objects without the requirement of specifying the exact concrete classes that will be used. One of a number of factory classes generates the object sets.</i></p> <p><img src="https://i.postimg.cc/c12GDbsV/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Builder</h2> <p>Constructs complex objects by separating construction and representation.</p> <p>The builder pattern is a design pattern that allows for the step-by-step creation of complex objects using the correct sequence of actions. The construction is controlled by a director object that only needs to know the type of object it is to create.</p> <p><img src="https://i.postimg.cc/qqCSVpkW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Factory method </h2> <p>The factory method pattern is a design pattern that allows for the creation of objects without specifying the type of object that is to be created in code. A factory class contains a method that allows determination of the created type at run-time.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831964_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Prototype </h2> <p>Creates objects by cloning an existing object.</p> <p>The prototype design pattern is a design pattern that is used to instantiate a class by copying, or cloning, the properties of an existing object. The new object is an exact copy of the prototype but permits modification without altering the original.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831981_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Singleton </h2> <p>Restricts object creation for a class to only one instance.</p> <p>The singleton pattern is a design pattern that is used to ensure that a class can only have one concurrent instance. Whenever additional objects of a singleton class are required, the previously created, single instance is provided.</p> <p><img src="https://i.postimg.cc/MThxjPX2/image.png" alt="" class="fr-fic fr-dii"></p> <h1>Structural</h1> <p>These concern class and object composition. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality.</p> <h2>Adapter </h2> <p>Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.</p> <p>The adapter pattern is a design pattern that is used to allow two incompatible types to communicate. Where one class relies upon a specific interface that is not implemented by another class, the adapter acts as a translator between the two types.</p> <p><img src="https://i.postimg.cc/0NjqXRw1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Bridge</h2> <p>Decouples an abstraction from its implementation so that the two can vary independently.</p> <p>The bridge pattern is a design pattern that separates the abstract elements of a class from its technical implementation. This provides a cleaner implementation of real-world objects and allows the implementation details to be changed easily.</p> <p><img src="https://i.postimg.cc/5yBcQfZL/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Composite </h2> <p>Composes zero-or-more similar objects so that they can be manipulated as one object.</p> <p>The composite pattern is a design pattern that is used when creating hierarchical object models. The pattern defines a manner in which to design recursive tree structures of objects, where individual objects and groups can be accessed in the same manner.</p> <p><img src="https://i.postimg.cc/kgj0b1h1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Decorator </h2> <p>Dynamically adds/overrides behaviour in an existing method of an object.</p> <p>The decorator pattern is a design pattern that extends the functionality of individual objects by wrapping them with one or more decorator classes. These decorators can modify existing members and add new methods and properties at run-time.</p> <p><img src="https://i.postimg.cc/vH0qq1LD/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Facade </h2> <p>provides a simplified interface to a large body of code.</p> <p>The facade pattern is a design pattern that is used to simplify access to functionality in complex or poorly designed subsystems. The facade class provides a simple, single-class interface that hides the implementation details of the underlying code.</p> <p><img src="https://i.postimg.cc/1t1JnDP7/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Flyweight </h2> <p>reduces the cost of creating and manipulating a large number of similar objects.</p> <p>The flyweight pattern is a design pattern that is used to minimize resource usage when working with very large numbers of objects. When creating many thousands of identical objects, stateless flyweights can lower the memory used to a manageable level.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832004_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Proxy </h2> <p>provides a placeholder for another object to control access, reduce cost, and reduce complexity.</p> <p>Proxy in a most general form is an interface to something else (Subject class). Proxy can be used when we don’t want to access to the resource or subject directly because of some base of permissions or if we don’t want to expose all of the methods of subject class. In some cases, proxies can add some extra functionality. Using proxies is very helpful when we need to access resources which are hard to instantiate, are slow to execute or are resource sensitive.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832013_image.png" alt="" class="fr-fic fr-dii"></p> <h1>Behavioral</h1> <p>Most of these design patterns are specifically concerned with communication between objects.</p> <h2>Chain of responsibility </h2> <p>delegates commands to a chain of processing objects.</p> <p>The chain of responsibility pattern is a design pattern that defines a linked list of handlers, each of which is able to process requests. When a request is submitted to the chain, it is passed to the first handler in the list that is able to process it.</p> <p><img src="https://i.postimg.cc/ZYVxZG9M/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Command </h2> <p>creates objects that encapsulate actions and parameters.</p> <p>The command pattern is a design pattern that enables all of the information for a request to be contained within a single object. The command can then be invoked as required, often as part of a batch of queued commands with rollback capabilities.</p> <p><img src="https://i.postimg.cc/rp15H3Xg/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Iterator </h2> <p>accesses the elements of an object sequentially without exposing its underlying representation.</p> <p>The iterator pattern is a design pattern that provides a means for the elements of an aggregate object to be accessed sequentially without knowledge of its structure. This allows traversing of lists, trees and other structures in a standard manner.</p> <p><img src="https://i.postimg.cc/rFDxTK2D/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Mediator </h2> <p>allows loose coupling between classes by being the only class that has detailed knowledge of their methods.</p> <p>The mediator pattern is a design pattern that promotes loose coupling of objects by removing the need for classes to communicate with each other directly. Instead, mediator objects are used to encapsulate and centralize the interactions between classes.</p> <p><img src="https://i.postimg.cc/NF59QPV3/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Memento </h2> <p>provides the ability to restore an object to its previous state (undo).</p> <p>The memento pattern is a design pattern that permits the current state of an object to be stored without breaking the rules of encapsulation. The originating object can be modified as required but can be restored to the saved state at any time.</p> <p><img src="https://i.postimg.cc/T245tf5f/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Observer </h2> <p>is a publish/subscribe pattern, which allows a number of observer objects to see an event.</p> <p>The observer pattern is a design pattern that defines a link between objects so that when one object's state changes, all dependent objects are updated automatically. This pattern allows communication between objects in a loosely coupled manner.</p> <p><img src="https://i.postimg.cc/rw60Lj9H/image.png" alt="" class="fr-fic fr-dii"></p> <h2>State </h2> <p>allows an object to alter its behavior when its internal state changes.</p> <p>The state pattern is a design pattern that allows an object to completely change its behavior depending upon its current internal state. By substituting classes within a defined context, the state object appears to change its type at run-time.</p> <p><img src="https://i.postimg.cc/Ls2JJswB/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Strategy </h2> <p>Allows one of a family of algorithms to be selected on-the-fly at runtime.</p> <p>The strategy pattern is a design pattern that allows a set of similar algorithms to be defined and encapsulated in their own classes. The algorithm to be used for a particular purpose may then be selected at run-time according to your requirements.</p> <p><img src="https://i.postimg.cc/TYb1QmXJ/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Template</h2> <p>method defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.</p> <p>The template method pattern is a design pattern that allows a group of interchangeable, similarly structured, multi-step algorithms to be defined. Each algorithm follows the same series of actions but provides a different implementation of the steps.</p> <p><img src="https://i.postimg.cc/43f3JSHW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Visitor </h2> <p>separates an algorithm from an object structure by moving the hierarchy of methods into one object.</p> <p>The visitor pattern is a design pattern that separates a set of structured data from the functionality that may be performed upon it. This promotes loose coupling and enables additional operations to be added without modifying the data classes.</p> <p><img src="https://i.postimg.cc/rF5Ws7zT/image.png" alt="" class="fr-fic fr-dii"></p> <p><b>References:</b></p> <ul> <li><a href="https://en.wikipedia.org/wiki/Design_Patterns" rel="external noopener noreferrer">Design Patterns - Wikipedia</a> </li> <li><a href="https://springframework.guru/gang-of-four-design-patterns/" rel="external noopener noreferrer">Gang of Four Design Patterns - Spring Framework Guru</a></li> </ul>]]></turbo:content>[/allow-turbo]
<category>.NET</category>
<dc:creator>FariD</dc:creator>
<pubDate>Fri, 06 Aug 2021 16:17:20 +0430</pubDate>
</item>[/shortrss]
[fullrss]<item turbo="{allow-turbo}">
<title>Design patterns concepts</title>
<guid isPermaLink="true">https://farid.partonia.ir/index.php?newsid=5</guid>
<link>https://farid.partonia.ir/index.php?newsid=5</link>
<category><![CDATA[.NET]]></category>
<dc:creator>FariD</dc:creator>
<pubDate>Fri, 06 Aug 2021 16:17:20 +0430</pubDate>
<description><![CDATA[<p>This was the start of my journey in C#; it was delightful to code with standard design patterns and make scalable software. </p> <p>Design patterns are solutions to software design problems you find again and again in real-world application development. Patterns are about reusable designs and interactions of objects.</p> <p>Before diving into this article, it is highly recommended to look at Unified Modeling Language cheat sheet.</p> <p><img src="https://i.postimg.cc/pLRjCHmx/Uml-classes-en.png" width="365" height="240" alt="" class="fr-fic fr-dib"></p> <p><br></p>]]></description>
[allow-turbo]<turbo:content><![CDATA[<h1>Creational</h1> <p>Creational patterns are ones that create objects, rather than having to instantiate objects directly. This gives the program more flexibility in deciding which objects need to be created for a given case.</p> <h2>Abstract factory</h2> <p>Groups object factories that have a common theme.</p> <p><i>The abstract factory pattern is a design pattern that allows for the creation of groups of related objects without the requirement of specifying the exact concrete classes that will be used. One of a number of factory classes generates the object sets.</i></p> <p><img src="https://i.postimg.cc/c12GDbsV/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Builder</h2> <p>Constructs complex objects by separating construction and representation.</p> <p>The builder pattern is a design pattern that allows for the step-by-step creation of complex objects using the correct sequence of actions. The construction is controlled by a director object that only needs to know the type of object it is to create.</p> <p><img src="https://i.postimg.cc/qqCSVpkW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Factory method </h2> <p>The factory method pattern is a design pattern that allows for the creation of objects without specifying the type of object that is to be created in code. A factory class contains a method that allows determination of the created type at run-time.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831964_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Prototype </h2> <p>Creates objects by cloning an existing object.</p> <p>The prototype design pattern is a design pattern that is used to instantiate a class by copying, or cloning, the properties of an existing object. The new object is an exact copy of the prototype but permits modification without altering the original.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831981_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Singleton </h2> <p>Restricts object creation for a class to only one instance.</p> <p>The singleton pattern is a design pattern that is used to ensure that a class can only have one concurrent instance. Whenever additional objects of a singleton class are required, the previously created, single instance is provided.</p> <p><img src="https://i.postimg.cc/MThxjPX2/image.png" alt="" class="fr-fic fr-dii"></p> <h1>Structural</h1> <p>These concern class and object composition. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality.</p> <h2>Adapter </h2> <p>Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.</p> <p>The adapter pattern is a design pattern that is used to allow two incompatible types to communicate. Where one class relies upon a specific interface that is not implemented by another class, the adapter acts as a translator between the two types.</p> <p><img src="https://i.postimg.cc/0NjqXRw1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Bridge</h2> <p>Decouples an abstraction from its implementation so that the two can vary independently.</p> <p>The bridge pattern is a design pattern that separates the abstract elements of a class from its technical implementation. This provides a cleaner implementation of real-world objects and allows the implementation details to be changed easily.</p> <p><img src="https://i.postimg.cc/5yBcQfZL/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Composite </h2> <p>Composes zero-or-more similar objects so that they can be manipulated as one object.</p> <p>The composite pattern is a design pattern that is used when creating hierarchical object models. The pattern defines a manner in which to design recursive tree structures of objects, where individual objects and groups can be accessed in the same manner.</p> <p><img src="https://i.postimg.cc/kgj0b1h1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Decorator </h2> <p>Dynamically adds/overrides behaviour in an existing method of an object.</p> <p>The decorator pattern is a design pattern that extends the functionality of individual objects by wrapping them with one or more decorator classes. These decorators can modify existing members and add new methods and properties at run-time.</p> <p><img src="https://i.postimg.cc/vH0qq1LD/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Facade </h2> <p>provides a simplified interface to a large body of code.</p> <p>The facade pattern is a design pattern that is used to simplify access to functionality in complex or poorly designed subsystems. The facade class provides a simple, single-class interface that hides the implementation details of the underlying code.</p> <p><img src="https://i.postimg.cc/1t1JnDP7/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Flyweight </h2> <p>reduces the cost of creating and manipulating a large number of similar objects.</p> <p>The flyweight pattern is a design pattern that is used to minimize resource usage when working with very large numbers of objects. When creating many thousands of identical objects, stateless flyweights can lower the memory used to a manageable level.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832004_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Proxy </h2> <p>provides a placeholder for another object to control access, reduce cost, and reduce complexity.</p> <p>Proxy in a most general form is an interface to something else (Subject class). Proxy can be used when we don’t want to access to the resource or subject directly because of some base of permissions or if we don’t want to expose all of the methods of subject class. In some cases, proxies can add some extra functionality. Using proxies is very helpful when we need to access resources which are hard to instantiate, are slow to execute or are resource sensitive.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832013_image.png" alt="" class="fr-fic fr-dii"></p> <h1>Behavioral</h1> <p>Most of these design patterns are specifically concerned with communication between objects.</p> <h2>Chain of responsibility </h2> <p>delegates commands to a chain of processing objects.</p> <p>The chain of responsibility pattern is a design pattern that defines a linked list of handlers, each of which is able to process requests. When a request is submitted to the chain, it is passed to the first handler in the list that is able to process it.</p> <p><img src="https://i.postimg.cc/ZYVxZG9M/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Command </h2> <p>creates objects that encapsulate actions and parameters.</p> <p>The command pattern is a design pattern that enables all of the information for a request to be contained within a single object. The command can then be invoked as required, often as part of a batch of queued commands with rollback capabilities.</p> <p><img src="https://i.postimg.cc/rp15H3Xg/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Iterator </h2> <p>accesses the elements of an object sequentially without exposing its underlying representation.</p> <p>The iterator pattern is a design pattern that provides a means for the elements of an aggregate object to be accessed sequentially without knowledge of its structure. This allows traversing of lists, trees and other structures in a standard manner.</p> <p><img src="https://i.postimg.cc/rFDxTK2D/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Mediator </h2> <p>allows loose coupling between classes by being the only class that has detailed knowledge of their methods.</p> <p>The mediator pattern is a design pattern that promotes loose coupling of objects by removing the need for classes to communicate with each other directly. Instead, mediator objects are used to encapsulate and centralize the interactions between classes.</p> <p><img src="https://i.postimg.cc/NF59QPV3/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Memento </h2> <p>provides the ability to restore an object to its previous state (undo).</p> <p>The memento pattern is a design pattern that permits the current state of an object to be stored without breaking the rules of encapsulation. The originating object can be modified as required but can be restored to the saved state at any time.</p> <p><img src="https://i.postimg.cc/T245tf5f/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Observer </h2> <p>is a publish/subscribe pattern, which allows a number of observer objects to see an event.</p> <p>The observer pattern is a design pattern that defines a link between objects so that when one object's state changes, all dependent objects are updated automatically. This pattern allows communication between objects in a loosely coupled manner.</p> <p><img src="https://i.postimg.cc/rw60Lj9H/image.png" alt="" class="fr-fic fr-dii"></p> <h2>State </h2> <p>allows an object to alter its behavior when its internal state changes.</p> <p>The state pattern is a design pattern that allows an object to completely change its behavior depending upon its current internal state. By substituting classes within a defined context, the state object appears to change its type at run-time.</p> <p><img src="https://i.postimg.cc/Ls2JJswB/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Strategy </h2> <p>Allows one of a family of algorithms to be selected on-the-fly at runtime.</p> <p>The strategy pattern is a design pattern that allows a set of similar algorithms to be defined and encapsulated in their own classes. The algorithm to be used for a particular purpose may then be selected at run-time according to your requirements.</p> <p><img src="https://i.postimg.cc/TYb1QmXJ/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Template</h2> <p>method defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.</p> <p>The template method pattern is a design pattern that allows a group of interchangeable, similarly structured, multi-step algorithms to be defined. Each algorithm follows the same series of actions but provides a different implementation of the steps.</p> <p><img src="https://i.postimg.cc/43f3JSHW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Visitor </h2> <p>separates an algorithm from an object structure by moving the hierarchy of methods into one object.</p> <p>The visitor pattern is a design pattern that separates a set of structured data from the functionality that may be performed upon it. This promotes loose coupling and enables additional operations to be added without modifying the data classes.</p> <p><img src="https://i.postimg.cc/rF5Ws7zT/image.png" alt="" class="fr-fic fr-dii"></p> <p><b>References:</b></p> <ul> <li><a href="https://en.wikipedia.org/wiki/Design_Patterns" rel="external noopener noreferrer">Design Patterns - Wikipedia</a> </li> <li><a href="https://springframework.guru/gang-of-four-design-patterns/" rel="external noopener noreferrer">Gang of Four Design Patterns - Spring Framework Guru</a></li> </ul>]]></turbo:content>[/allow-turbo]
[allow-dzen]<content:encoded><![CDATA[<h1>Creational</h1> <p>Creational patterns are ones that create objects, rather than having to instantiate objects directly. This gives the program more flexibility in deciding which objects need to be created for a given case.</p> <h2>Abstract factory</h2> <p>Groups object factories that have a common theme.</p> <p><i>The abstract factory pattern is a design pattern that allows for the creation of groups of related objects without the requirement of specifying the exact concrete classes that will be used. One of a number of factory classes generates the object sets.</i></p> <p><img src="https://i.postimg.cc/c12GDbsV/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Builder</h2> <p>Constructs complex objects by separating construction and representation.</p> <p>The builder pattern is a design pattern that allows for the step-by-step creation of complex objects using the correct sequence of actions. The construction is controlled by a director object that only needs to know the type of object it is to create.</p> <p><img src="https://i.postimg.cc/qqCSVpkW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Factory method </h2> <p>The factory method pattern is a design pattern that allows for the creation of objects without specifying the type of object that is to be created in code. A factory class contains a method that allows determination of the created type at run-time.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831964_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Prototype </h2> <p>Creates objects by cloning an existing object.</p> <p>The prototype design pattern is a design pattern that is used to instantiate a class by copying, or cloning, the properties of an existing object. The new object is an exact copy of the prototype but permits modification without altering the original.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831981_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Singleton </h2> <p>Restricts object creation for a class to only one instance.</p> <p>The singleton pattern is a design pattern that is used to ensure that a class can only have one concurrent instance. Whenever additional objects of a singleton class are required, the previously created, single instance is provided.</p> <p><img src="https://i.postimg.cc/MThxjPX2/image.png" alt="" class="fr-fic fr-dii"></p> <h1>Structural</h1> <p>These concern class and object composition. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality.</p> <h2>Adapter </h2> <p>Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.</p> <p>The adapter pattern is a design pattern that is used to allow two incompatible types to communicate. Where one class relies upon a specific interface that is not implemented by another class, the adapter acts as a translator between the two types.</p> <p><img src="https://i.postimg.cc/0NjqXRw1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Bridge</h2> <p>Decouples an abstraction from its implementation so that the two can vary independently.</p> <p>The bridge pattern is a design pattern that separates the abstract elements of a class from its technical implementation. This provides a cleaner implementation of real-world objects and allows the implementation details to be changed easily.</p> <p><img src="https://i.postimg.cc/5yBcQfZL/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Composite </h2> <p>Composes zero-or-more similar objects so that they can be manipulated as one object.</p> <p>The composite pattern is a design pattern that is used when creating hierarchical object models. The pattern defines a manner in which to design recursive tree structures of objects, where individual objects and groups can be accessed in the same manner.</p> <p><img src="https://i.postimg.cc/kgj0b1h1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Decorator </h2> <p>Dynamically adds/overrides behaviour in an existing method of an object.</p> <p>The decorator pattern is a design pattern that extends the functionality of individual objects by wrapping them with one or more decorator classes. These decorators can modify existing members and add new methods and properties at run-time.</p> <p><img src="https://i.postimg.cc/vH0qq1LD/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Facade </h2> <p>provides a simplified interface to a large body of code.</p> <p>The facade pattern is a design pattern that is used to simplify access to functionality in complex or poorly designed subsystems. The facade class provides a simple, single-class interface that hides the implementation details of the underlying code.</p> <p><img src="https://i.postimg.cc/1t1JnDP7/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Flyweight </h2> <p>reduces the cost of creating and manipulating a large number of similar objects.</p> <p>The flyweight pattern is a design pattern that is used to minimize resource usage when working with very large numbers of objects. When creating many thousands of identical objects, stateless flyweights can lower the memory used to a manageable level.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832004_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Proxy </h2> <p>provides a placeholder for another object to control access, reduce cost, and reduce complexity.</p> <p>Proxy in a most general form is an interface to something else (Subject class). Proxy can be used when we don’t want to access to the resource or subject directly because of some base of permissions or if we don’t want to expose all of the methods of subject class. In some cases, proxies can add some extra functionality. Using proxies is very helpful when we need to access resources which are hard to instantiate, are slow to execute or are resource sensitive.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832013_image.png" alt="" class="fr-fic fr-dii"></p> <h1>Behavioral</h1> <p>Most of these design patterns are specifically concerned with communication between objects.</p> <h2>Chain of responsibility </h2> <p>delegates commands to a chain of processing objects.</p> <p>The chain of responsibility pattern is a design pattern that defines a linked list of handlers, each of which is able to process requests. When a request is submitted to the chain, it is passed to the first handler in the list that is able to process it.</p> <p><img src="https://i.postimg.cc/ZYVxZG9M/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Command </h2> <p>creates objects that encapsulate actions and parameters.</p> <p>The command pattern is a design pattern that enables all of the information for a request to be contained within a single object. The command can then be invoked as required, often as part of a batch of queued commands with rollback capabilities.</p> <p><img src="https://i.postimg.cc/rp15H3Xg/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Iterator </h2> <p>accesses the elements of an object sequentially without exposing its underlying representation.</p> <p>The iterator pattern is a design pattern that provides a means for the elements of an aggregate object to be accessed sequentially without knowledge of its structure. This allows traversing of lists, trees and other structures in a standard manner.</p> <p><img src="https://i.postimg.cc/rFDxTK2D/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Mediator </h2> <p>allows loose coupling between classes by being the only class that has detailed knowledge of their methods.</p> <p>The mediator pattern is a design pattern that promotes loose coupling of objects by removing the need for classes to communicate with each other directly. Instead, mediator objects are used to encapsulate and centralize the interactions between classes.</p> <p><img src="https://i.postimg.cc/NF59QPV3/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Memento </h2> <p>provides the ability to restore an object to its previous state (undo).</p> <p>The memento pattern is a design pattern that permits the current state of an object to be stored without breaking the rules of encapsulation. The originating object can be modified as required but can be restored to the saved state at any time.</p> <p><img src="https://i.postimg.cc/T245tf5f/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Observer </h2> <p>is a publish/subscribe pattern, which allows a number of observer objects to see an event.</p> <p>The observer pattern is a design pattern that defines a link between objects so that when one object's state changes, all dependent objects are updated automatically. This pattern allows communication between objects in a loosely coupled manner.</p> <p><img src="https://i.postimg.cc/rw60Lj9H/image.png" alt="" class="fr-fic fr-dii"></p> <h2>State </h2> <p>allows an object to alter its behavior when its internal state changes.</p> <p>The state pattern is a design pattern that allows an object to completely change its behavior depending upon its current internal state. By substituting classes within a defined context, the state object appears to change its type at run-time.</p> <p><img src="https://i.postimg.cc/Ls2JJswB/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Strategy </h2> <p>Allows one of a family of algorithms to be selected on-the-fly at runtime.</p> <p>The strategy pattern is a design pattern that allows a set of similar algorithms to be defined and encapsulated in their own classes. The algorithm to be used for a particular purpose may then be selected at run-time according to your requirements.</p> <p><img src="https://i.postimg.cc/TYb1QmXJ/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Template</h2> <p>method defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.</p> <p>The template method pattern is a design pattern that allows a group of interchangeable, similarly structured, multi-step algorithms to be defined. Each algorithm follows the same series of actions but provides a different implementation of the steps.</p> <p><img src="https://i.postimg.cc/43f3JSHW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Visitor </h2> <p>separates an algorithm from an object structure by moving the hierarchy of methods into one object.</p> <p>The visitor pattern is a design pattern that separates a set of structured data from the functionality that may be performed upon it. This promotes loose coupling and enables additional operations to be added without modifying the data classes.</p> <p><img src="https://i.postimg.cc/rF5Ws7zT/image.png" alt="" class="fr-fic fr-dii"></p> <p><b>References:</b></p> <ul> <li><a href="https://en.wikipedia.org/wiki/Design_Patterns" rel="external noopener noreferrer">Design Patterns - Wikipedia</a> </li> <li><a href="https://springframework.guru/gang-of-four-design-patterns/" rel="external noopener noreferrer">Gang of Four Design Patterns - Spring Framework Guru</a></li> </ul>]]></content:encoded>[/allow-dzen]
</item>[/fullrss]
[yandexrss]<item turbo="{allow-turbo}">
<title>Design patterns concepts</title>
<link>https://farid.partonia.ir/index.php?newsid=5</link>
<description><p>This was the start of my journey in C#; it was delightful to code with standard design patterns and make scalable software. </p> <p>Design patterns are solutions to software design problems you find again and again in real-world application development. Patterns are about reusable designs and interactions of objects.</p> <p>Before diving into this article, it is highly recommended to look at Unified Modeling Language cheat sheet.</p> <p><img src="https://i.postimg.cc/pLRjCHmx/Uml-classes-en.png" width="365" height="240" alt="" class="fr-fic fr-dib"></p> <p><br></p></description>
<category>.NET</category>
<enclosure url="https://i.postimg.cc/c12GDbsV/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/qqCSVpkW/image.png" type="image/png" />
<enclosure url="https://farid.partonia.ir/uploads/posts/2021-08/1629831964_image.png" type="image/png" />
<enclosure url="https://farid.partonia.ir/uploads/posts/2021-08/1629831981_image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/MThxjPX2/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/0NjqXRw1/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/5yBcQfZL/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/kgj0b1h1/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/vH0qq1LD/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/1t1JnDP7/image.png" type="image/png" />
<enclosure url="https://farid.partonia.ir/uploads/posts/2021-08/1629832004_image.png" type="image/png" />
<enclosure url="https://farid.partonia.ir/uploads/posts/2021-08/1629832013_image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/ZYVxZG9M/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/rp15H3Xg/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/rFDxTK2D/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/NF59QPV3/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/T245tf5f/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/rw60Lj9H/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/Ls2JJswB/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/TYb1QmXJ/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/43f3JSHW/image.png" type="image/png" />
<enclosure url="https://i.postimg.cc/rF5Ws7zT/image.png" type="image/png" />
<pubDate>Fri, 06 Aug 2021 16:17:20 +0430</pubDate>
<yandex:full-text><h1>Creational</h1> <p>Creational patterns are ones that create objects, rather than having to instantiate objects directly. This gives the program more flexibility in deciding which objects need to be created for a given case.</p> <h2>Abstract factory</h2> <p>Groups object factories that have a common theme.</p> <p><i>The abstract factory pattern is a design pattern that allows for the creation of groups of related objects without the requirement of specifying the exact concrete classes that will be used. One of a number of factory classes generates the object sets.</i></p> <p><img src="https://i.postimg.cc/c12GDbsV/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Builder</h2> <p>Constructs complex objects by separating construction and representation.</p> <p>The builder pattern is a design pattern that allows for the step-by-step creation of complex objects using the correct sequence of actions. The construction is controlled by a director object that only needs to know the type of object it is to create.</p> <p><img src="https://i.postimg.cc/qqCSVpkW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Factory method </h2> <p>The factory method pattern is a design pattern that allows for the creation of objects without specifying the type of object that is to be created in code. A factory class contains a method that allows determination of the created type at run-time.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831964_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Prototype </h2> <p>Creates objects by cloning an existing object.</p> <p>The prototype design pattern is a design pattern that is used to instantiate a class by copying, or cloning, the properties of an existing object. The new object is an exact copy of the prototype but permits modification without altering the original.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831981_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Singleton </h2> <p>Restricts object creation for a class to only one instance.</p> <p>The singleton pattern is a design pattern that is used to ensure that a class can only have one concurrent instance. Whenever additional objects of a singleton class are required, the previously created, single instance is provided.</p> <p><img src="https://i.postimg.cc/MThxjPX2/image.png" alt="" class="fr-fic fr-dii"></p> <h1>Structural</h1> <p>These concern class and object composition. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality.</p> <h2>Adapter </h2> <p>Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.</p> <p>The adapter pattern is a design pattern that is used to allow two incompatible types to communicate. Where one class relies upon a specific interface that is not implemented by another class, the adapter acts as a translator between the two types.</p> <p><img src="https://i.postimg.cc/0NjqXRw1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Bridge</h2> <p>Decouples an abstraction from its implementation so that the two can vary independently.</p> <p>The bridge pattern is a design pattern that separates the abstract elements of a class from its technical implementation. This provides a cleaner implementation of real-world objects and allows the implementation details to be changed easily.</p> <p><img src="https://i.postimg.cc/5yBcQfZL/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Composite </h2> <p>Composes zero-or-more similar objects so that they can be manipulated as one object.</p> <p>The composite pattern is a design pattern that is used when creating hierarchical object models. The pattern defines a manner in which to design recursive tree structures of objects, where individual objects and groups can be accessed in the same manner.</p> <p><img src="https://i.postimg.cc/kgj0b1h1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Decorator </h2> <p>Dynamically adds/overrides behaviour in an existing method of an object.</p> <p>The decorator pattern is a design pattern that extends the functionality of individual objects by wrapping them with one or more decorator classes. These decorators can modify existing members and add new methods and properties at run-time.</p> <p><img src="https://i.postimg.cc/vH0qq1LD/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Facade </h2> <p>provides a simplified interface to a large body of code.</p> <p>The facade pattern is a design pattern that is used to simplify access to functionality in complex or poorly designed subsystems. The facade class provides a simple, single-class interface that hides the implementation details of the underlying code.</p> <p><img src="https://i.postimg.cc/1t1JnDP7/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Flyweight </h2> <p>reduces the cost of creating and manipulating a large number of similar objects.</p> <p>The flyweight pattern is a design pattern that is used to minimize resource usage when working with very large numbers of objects. When creating many thousands of identical objects, stateless flyweights can lower the memory used to a manageable level.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832004_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Proxy </h2> <p>provides a placeholder for another object to control access, reduce cost, and reduce complexity.</p> <p>Proxy in a most general form is an interface to something else (Subject class). Proxy can be used when we don’t want to access to the resource or subject directly because of some base of permissions or if we don’t want to expose all of the methods of subject class. In some cases, proxies can add some extra functionality. Using proxies is very helpful when we need to access resources which are hard to instantiate, are slow to execute or are resource sensitive.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832013_image.png" alt="" class="fr-fic fr-dii"></p> <h1>Behavioral</h1> <p>Most of these design patterns are specifically concerned with communication between objects.</p> <h2>Chain of responsibility </h2> <p>delegates commands to a chain of processing objects.</p> <p>The chain of responsibility pattern is a design pattern that defines a linked list of handlers, each of which is able to process requests. When a request is submitted to the chain, it is passed to the first handler in the list that is able to process it.</p> <p><img src="https://i.postimg.cc/ZYVxZG9M/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Command </h2> <p>creates objects that encapsulate actions and parameters.</p> <p>The command pattern is a design pattern that enables all of the information for a request to be contained within a single object. The command can then be invoked as required, often as part of a batch of queued commands with rollback capabilities.</p> <p><img src="https://i.postimg.cc/rp15H3Xg/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Iterator </h2> <p>accesses the elements of an object sequentially without exposing its underlying representation.</p> <p>The iterator pattern is a design pattern that provides a means for the elements of an aggregate object to be accessed sequentially without knowledge of its structure. This allows traversing of lists, trees and other structures in a standard manner.</p> <p><img src="https://i.postimg.cc/rFDxTK2D/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Mediator </h2> <p>allows loose coupling between classes by being the only class that has detailed knowledge of their methods.</p> <p>The mediator pattern is a design pattern that promotes loose coupling of objects by removing the need for classes to communicate with each other directly. Instead, mediator objects are used to encapsulate and centralize the interactions between classes.</p> <p><img src="https://i.postimg.cc/NF59QPV3/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Memento </h2> <p>provides the ability to restore an object to its previous state (undo).</p> <p>The memento pattern is a design pattern that permits the current state of an object to be stored without breaking the rules of encapsulation. The originating object can be modified as required but can be restored to the saved state at any time.</p> <p><img src="https://i.postimg.cc/T245tf5f/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Observer </h2> <p>is a publish/subscribe pattern, which allows a number of observer objects to see an event.</p> <p>The observer pattern is a design pattern that defines a link between objects so that when one object's state changes, all dependent objects are updated automatically. This pattern allows communication between objects in a loosely coupled manner.</p> <p><img src="https://i.postimg.cc/rw60Lj9H/image.png" alt="" class="fr-fic fr-dii"></p> <h2>State </h2> <p>allows an object to alter its behavior when its internal state changes.</p> <p>The state pattern is a design pattern that allows an object to completely change its behavior depending upon its current internal state. By substituting classes within a defined context, the state object appears to change its type at run-time.</p> <p><img src="https://i.postimg.cc/Ls2JJswB/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Strategy </h2> <p>Allows one of a family of algorithms to be selected on-the-fly at runtime.</p> <p>The strategy pattern is a design pattern that allows a set of similar algorithms to be defined and encapsulated in their own classes. The algorithm to be used for a particular purpose may then be selected at run-time according to your requirements.</p> <p><img src="https://i.postimg.cc/TYb1QmXJ/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Template</h2> <p>method defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.</p> <p>The template method pattern is a design pattern that allows a group of interchangeable, similarly structured, multi-step algorithms to be defined. Each algorithm follows the same series of actions but provides a different implementation of the steps.</p> <p><img src="https://i.postimg.cc/43f3JSHW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Visitor </h2> <p>separates an algorithm from an object structure by moving the hierarchy of methods into one object.</p> <p>The visitor pattern is a design pattern that separates a set of structured data from the functionality that may be performed upon it. This promotes loose coupling and enables additional operations to be added without modifying the data classes.</p> <p><img src="https://i.postimg.cc/rF5Ws7zT/image.png" alt="" class="fr-fic fr-dii"></p> <p><b>References:</b></p> <ul> <li><a href="https://en.wikipedia.org/wiki/Design_Patterns" rel="external noopener noreferrer">Design Patterns - Wikipedia</a> </li> <li><a href="https://springframework.guru/gang-of-four-design-patterns/" rel="external noopener noreferrer">Gang of Four Design Patterns - Spring Framework Guru</a></li> </ul></yandex:full-text>
[allow-turbo]<turbo:content><![CDATA[<h1>Creational</h1> <p>Creational patterns are ones that create objects, rather than having to instantiate objects directly. This gives the program more flexibility in deciding which objects need to be created for a given case.</p> <h2>Abstract factory</h2> <p>Groups object factories that have a common theme.</p> <p><i>The abstract factory pattern is a design pattern that allows for the creation of groups of related objects without the requirement of specifying the exact concrete classes that will be used. One of a number of factory classes generates the object sets.</i></p> <p><img src="https://i.postimg.cc/c12GDbsV/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Builder</h2> <p>Constructs complex objects by separating construction and representation.</p> <p>The builder pattern is a design pattern that allows for the step-by-step creation of complex objects using the correct sequence of actions. The construction is controlled by a director object that only needs to know the type of object it is to create.</p> <p><img src="https://i.postimg.cc/qqCSVpkW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Factory method </h2> <p>The factory method pattern is a design pattern that allows for the creation of objects without specifying the type of object that is to be created in code. A factory class contains a method that allows determination of the created type at run-time.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831964_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Prototype </h2> <p>Creates objects by cloning an existing object.</p> <p>The prototype design pattern is a design pattern that is used to instantiate a class by copying, or cloning, the properties of an existing object. The new object is an exact copy of the prototype but permits modification without altering the original.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831981_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Singleton </h2> <p>Restricts object creation for a class to only one instance.</p> <p>The singleton pattern is a design pattern that is used to ensure that a class can only have one concurrent instance. Whenever additional objects of a singleton class are required, the previously created, single instance is provided.</p> <p><img src="https://i.postimg.cc/MThxjPX2/image.png" alt="" class="fr-fic fr-dii"></p> <h1>Structural</h1> <p>These concern class and object composition. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality.</p> <h2>Adapter </h2> <p>Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.</p> <p>The adapter pattern is a design pattern that is used to allow two incompatible types to communicate. Where one class relies upon a specific interface that is not implemented by another class, the adapter acts as a translator between the two types.</p> <p><img src="https://i.postimg.cc/0NjqXRw1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Bridge</h2> <p>Decouples an abstraction from its implementation so that the two can vary independently.</p> <p>The bridge pattern is a design pattern that separates the abstract elements of a class from its technical implementation. This provides a cleaner implementation of real-world objects and allows the implementation details to be changed easily.</p> <p><img src="https://i.postimg.cc/5yBcQfZL/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Composite </h2> <p>Composes zero-or-more similar objects so that they can be manipulated as one object.</p> <p>The composite pattern is a design pattern that is used when creating hierarchical object models. The pattern defines a manner in which to design recursive tree structures of objects, where individual objects and groups can be accessed in the same manner.</p> <p><img src="https://i.postimg.cc/kgj0b1h1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Decorator </h2> <p>Dynamically adds/overrides behaviour in an existing method of an object.</p> <p>The decorator pattern is a design pattern that extends the functionality of individual objects by wrapping them with one or more decorator classes. These decorators can modify existing members and add new methods and properties at run-time.</p> <p><img src="https://i.postimg.cc/vH0qq1LD/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Facade </h2> <p>provides a simplified interface to a large body of code.</p> <p>The facade pattern is a design pattern that is used to simplify access to functionality in complex or poorly designed subsystems. The facade class provides a simple, single-class interface that hides the implementation details of the underlying code.</p> <p><img src="https://i.postimg.cc/1t1JnDP7/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Flyweight </h2> <p>reduces the cost of creating and manipulating a large number of similar objects.</p> <p>The flyweight pattern is a design pattern that is used to minimize resource usage when working with very large numbers of objects. When creating many thousands of identical objects, stateless flyweights can lower the memory used to a manageable level.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832004_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Proxy </h2> <p>provides a placeholder for another object to control access, reduce cost, and reduce complexity.</p> <p>Proxy in a most general form is an interface to something else (Subject class). Proxy can be used when we don’t want to access to the resource or subject directly because of some base of permissions or if we don’t want to expose all of the methods of subject class. In some cases, proxies can add some extra functionality. Using proxies is very helpful when we need to access resources which are hard to instantiate, are slow to execute or are resource sensitive.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832013_image.png" alt="" class="fr-fic fr-dii"></p> <h1>Behavioral</h1> <p>Most of these design patterns are specifically concerned with communication between objects.</p> <h2>Chain of responsibility </h2> <p>delegates commands to a chain of processing objects.</p> <p>The chain of responsibility pattern is a design pattern that defines a linked list of handlers, each of which is able to process requests. When a request is submitted to the chain, it is passed to the first handler in the list that is able to process it.</p> <p><img src="https://i.postimg.cc/ZYVxZG9M/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Command </h2> <p>creates objects that encapsulate actions and parameters.</p> <p>The command pattern is a design pattern that enables all of the information for a request to be contained within a single object. The command can then be invoked as required, often as part of a batch of queued commands with rollback capabilities.</p> <p><img src="https://i.postimg.cc/rp15H3Xg/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Iterator </h2> <p>accesses the elements of an object sequentially without exposing its underlying representation.</p> <p>The iterator pattern is a design pattern that provides a means for the elements of an aggregate object to be accessed sequentially without knowledge of its structure. This allows traversing of lists, trees and other structures in a standard manner.</p> <p><img src="https://i.postimg.cc/rFDxTK2D/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Mediator </h2> <p>allows loose coupling between classes by being the only class that has detailed knowledge of their methods.</p> <p>The mediator pattern is a design pattern that promotes loose coupling of objects by removing the need for classes to communicate with each other directly. Instead, mediator objects are used to encapsulate and centralize the interactions between classes.</p> <p><img src="https://i.postimg.cc/NF59QPV3/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Memento </h2> <p>provides the ability to restore an object to its previous state (undo).</p> <p>The memento pattern is a design pattern that permits the current state of an object to be stored without breaking the rules of encapsulation. The originating object can be modified as required but can be restored to the saved state at any time.</p> <p><img src="https://i.postimg.cc/T245tf5f/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Observer </h2> <p>is a publish/subscribe pattern, which allows a number of observer objects to see an event.</p> <p>The observer pattern is a design pattern that defines a link between objects so that when one object's state changes, all dependent objects are updated automatically. This pattern allows communication between objects in a loosely coupled manner.</p> <p><img src="https://i.postimg.cc/rw60Lj9H/image.png" alt="" class="fr-fic fr-dii"></p> <h2>State </h2> <p>allows an object to alter its behavior when its internal state changes.</p> <p>The state pattern is a design pattern that allows an object to completely change its behavior depending upon its current internal state. By substituting classes within a defined context, the state object appears to change its type at run-time.</p> <p><img src="https://i.postimg.cc/Ls2JJswB/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Strategy </h2> <p>Allows one of a family of algorithms to be selected on-the-fly at runtime.</p> <p>The strategy pattern is a design pattern that allows a set of similar algorithms to be defined and encapsulated in their own classes. The algorithm to be used for a particular purpose may then be selected at run-time according to your requirements.</p> <p><img src="https://i.postimg.cc/TYb1QmXJ/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Template</h2> <p>method defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.</p> <p>The template method pattern is a design pattern that allows a group of interchangeable, similarly structured, multi-step algorithms to be defined. Each algorithm follows the same series of actions but provides a different implementation of the steps.</p> <p><img src="https://i.postimg.cc/43f3JSHW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Visitor </h2> <p>separates an algorithm from an object structure by moving the hierarchy of methods into one object.</p> <p>The visitor pattern is a design pattern that separates a set of structured data from the functionality that may be performed upon it. This promotes loose coupling and enables additional operations to be added without modifying the data classes.</p> <p><img src="https://i.postimg.cc/rF5Ws7zT/image.png" alt="" class="fr-fic fr-dii"></p> <p><b>References:</b></p> <ul> <li><a href="https://en.wikipedia.org/wiki/Design_Patterns" rel="external noopener noreferrer">Design Patterns - Wikipedia</a> </li> <li><a href="https://springframework.guru/gang-of-four-design-patterns/" rel="external noopener noreferrer">Gang of Four Design Patterns - Spring Framework Guru</a></li> </ul>]]></turbo:content>[/allow-turbo]
[allow-dzen]<content:encoded><![CDATA[<h1>Creational</h1> <p>Creational patterns are ones that create objects, rather than having to instantiate objects directly. This gives the program more flexibility in deciding which objects need to be created for a given case.</p> <h2>Abstract factory</h2> <p>Groups object factories that have a common theme.</p> <p><i>The abstract factory pattern is a design pattern that allows for the creation of groups of related objects without the requirement of specifying the exact concrete classes that will be used. One of a number of factory classes generates the object sets.</i></p> <p><img src="https://i.postimg.cc/c12GDbsV/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Builder</h2> <p>Constructs complex objects by separating construction and representation.</p> <p>The builder pattern is a design pattern that allows for the step-by-step creation of complex objects using the correct sequence of actions. The construction is controlled by a director object that only needs to know the type of object it is to create.</p> <p><img src="https://i.postimg.cc/qqCSVpkW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Factory method </h2> <p>The factory method pattern is a design pattern that allows for the creation of objects without specifying the type of object that is to be created in code. A factory class contains a method that allows determination of the created type at run-time.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831964_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Prototype </h2> <p>Creates objects by cloning an existing object.</p> <p>The prototype design pattern is a design pattern that is used to instantiate a class by copying, or cloning, the properties of an existing object. The new object is an exact copy of the prototype but permits modification without altering the original.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629831981_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Singleton </h2> <p>Restricts object creation for a class to only one instance.</p> <p>The singleton pattern is a design pattern that is used to ensure that a class can only have one concurrent instance. Whenever additional objects of a singleton class are required, the previously created, single instance is provided.</p> <p><img src="https://i.postimg.cc/MThxjPX2/image.png" alt="" class="fr-fic fr-dii"></p> <h1>Structural</h1> <p>These concern class and object composition. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality.</p> <h2>Adapter </h2> <p>Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.</p> <p>The adapter pattern is a design pattern that is used to allow two incompatible types to communicate. Where one class relies upon a specific interface that is not implemented by another class, the adapter acts as a translator between the two types.</p> <p><img src="https://i.postimg.cc/0NjqXRw1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Bridge</h2> <p>Decouples an abstraction from its implementation so that the two can vary independently.</p> <p>The bridge pattern is a design pattern that separates the abstract elements of a class from its technical implementation. This provides a cleaner implementation of real-world objects and allows the implementation details to be changed easily.</p> <p><img src="https://i.postimg.cc/5yBcQfZL/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Composite </h2> <p>Composes zero-or-more similar objects so that they can be manipulated as one object.</p> <p>The composite pattern is a design pattern that is used when creating hierarchical object models. The pattern defines a manner in which to design recursive tree structures of objects, where individual objects and groups can be accessed in the same manner.</p> <p><img src="https://i.postimg.cc/kgj0b1h1/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Decorator </h2> <p>Dynamically adds/overrides behaviour in an existing method of an object.</p> <p>The decorator pattern is a design pattern that extends the functionality of individual objects by wrapping them with one or more decorator classes. These decorators can modify existing members and add new methods and properties at run-time.</p> <p><img src="https://i.postimg.cc/vH0qq1LD/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Facade </h2> <p>provides a simplified interface to a large body of code.</p> <p>The facade pattern is a design pattern that is used to simplify access to functionality in complex or poorly designed subsystems. The facade class provides a simple, single-class interface that hides the implementation details of the underlying code.</p> <p><img src="https://i.postimg.cc/1t1JnDP7/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Flyweight </h2> <p>reduces the cost of creating and manipulating a large number of similar objects.</p> <p>The flyweight pattern is a design pattern that is used to minimize resource usage when working with very large numbers of objects. When creating many thousands of identical objects, stateless flyweights can lower the memory used to a manageable level.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832004_image.png" alt="" class="fr-fic fr-dii"></p> <h2>Proxy </h2> <p>provides a placeholder for another object to control access, reduce cost, and reduce complexity.</p> <p>Proxy in a most general form is an interface to something else (Subject class). Proxy can be used when we don’t want to access to the resource or subject directly because of some base of permissions or if we don’t want to expose all of the methods of subject class. In some cases, proxies can add some extra functionality. Using proxies is very helpful when we need to access resources which are hard to instantiate, are slow to execute or are resource sensitive.</p> <p><img src="https://farid.partonia.ir/uploads/posts/2021-08/1629832013_image.png" alt="" class="fr-fic fr-dii"></p> <h1>Behavioral</h1> <p>Most of these design patterns are specifically concerned with communication between objects.</p> <h2>Chain of responsibility </h2> <p>delegates commands to a chain of processing objects.</p> <p>The chain of responsibility pattern is a design pattern that defines a linked list of handlers, each of which is able to process requests. When a request is submitted to the chain, it is passed to the first handler in the list that is able to process it.</p> <p><img src="https://i.postimg.cc/ZYVxZG9M/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Command </h2> <p>creates objects that encapsulate actions and parameters.</p> <p>The command pattern is a design pattern that enables all of the information for a request to be contained within a single object. The command can then be invoked as required, often as part of a batch of queued commands with rollback capabilities.</p> <p><img src="https://i.postimg.cc/rp15H3Xg/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Iterator </h2> <p>accesses the elements of an object sequentially without exposing its underlying representation.</p> <p>The iterator pattern is a design pattern that provides a means for the elements of an aggregate object to be accessed sequentially without knowledge of its structure. This allows traversing of lists, trees and other structures in a standard manner.</p> <p><img src="https://i.postimg.cc/rFDxTK2D/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Mediator </h2> <p>allows loose coupling between classes by being the only class that has detailed knowledge of their methods.</p> <p>The mediator pattern is a design pattern that promotes loose coupling of objects by removing the need for classes to communicate with each other directly. Instead, mediator objects are used to encapsulate and centralize the interactions between classes.</p> <p><img src="https://i.postimg.cc/NF59QPV3/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Memento </h2> <p>provides the ability to restore an object to its previous state (undo).</p> <p>The memento pattern is a design pattern that permits the current state of an object to be stored without breaking the rules of encapsulation. The originating object can be modified as required but can be restored to the saved state at any time.</p> <p><img src="https://i.postimg.cc/T245tf5f/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Observer </h2> <p>is a publish/subscribe pattern, which allows a number of observer objects to see an event.</p> <p>The observer pattern is a design pattern that defines a link between objects so that when one object's state changes, all dependent objects are updated automatically. This pattern allows communication between objects in a loosely coupled manner.</p> <p><img src="https://i.postimg.cc/rw60Lj9H/image.png" alt="" class="fr-fic fr-dii"></p> <h2>State </h2> <p>allows an object to alter its behavior when its internal state changes.</p> <p>The state pattern is a design pattern that allows an object to completely change its behavior depending upon its current internal state. By substituting classes within a defined context, the state object appears to change its type at run-time.</p> <p><img src="https://i.postimg.cc/Ls2JJswB/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Strategy </h2> <p>Allows one of a family of algorithms to be selected on-the-fly at runtime.</p> <p>The strategy pattern is a design pattern that allows a set of similar algorithms to be defined and encapsulated in their own classes. The algorithm to be used for a particular purpose may then be selected at run-time according to your requirements.</p> <p><img src="https://i.postimg.cc/TYb1QmXJ/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Template</h2> <p>method defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.</p> <p>The template method pattern is a design pattern that allows a group of interchangeable, similarly structured, multi-step algorithms to be defined. Each algorithm follows the same series of actions but provides a different implementation of the steps.</p> <p><img src="https://i.postimg.cc/43f3JSHW/image.png" alt="" class="fr-fic fr-dii"></p> <h2>Visitor </h2> <p>separates an algorithm from an object structure by moving the hierarchy of methods into one object.</p> <p>The visitor pattern is a design pattern that separates a set of structured data from the functionality that may be performed upon it. This promotes loose coupling and enables additional operations to be added without modifying the data classes.</p> <p><img src="https://i.postimg.cc/rF5Ws7zT/image.png" alt="" class="fr-fic fr-dii"></p> <p><b>References:</b></p> <ul> <li><a href="https://en.wikipedia.org/wiki/Design_Patterns" rel="external noopener noreferrer">Design Patterns - Wikipedia</a> </li> <li><a href="https://springframework.guru/gang-of-four-design-patterns/" rel="external noopener noreferrer">Gang of Four Design Patterns - Spring Framework Guru</a></li> </ul>]]></content:encoded>[/allow-dzen]
</item>[/yandexrss][shortrss]<item turbo="{allow-turbo}">
<title>Useful design patterns resources in C#</title>
<guid isPermaLink="true">https://farid.partonia.ir/index.php?newsid=7</guid>
<link>https://farid.partonia.ir/index.php?newsid=7</link>
<description><p>These are a compilation of publicly shared files of Do-Factory Gang Of Four, O'reilly Head First Design Patterns, Refactoring-Guru dive Into design patterns, and dive Into refactoring books with C# example projects.</p></description>
[allow-turbo]<turbo:content><![CDATA[<p><b>Content:</b></p> <ul> <li>Do-Factory version of Gang Of Four E-book and examples for C# with Visio UML Diagrams</li> <li>O'reilly Head First Design Patterns E-book and examples for C# </li> <li>Refactoring-Guru Dive Into Design Patterns E-book and examples for C# and Dive Into Refactoring offline E-book.</li> <li>Two complete set of C# projects for design patterns.</li> </ul> <p><a href="https://mega.nz/file/Tz4C3BqB#HrAlw1PC9tbK6GMtYR00GiNT0Y-TUUqP5JoCN-wjNEM" target="_blank" title="Click here Download" rel="noopener external">Click here Download</a></p> <p>Ask for the password through the Contact Me page. I'll reply ASAP.</p> <p></p> <p><br></p> <p><br></p>]]></turbo:content>[/allow-turbo]
<category>.NET</category>
<dc:creator>FariD</dc:creator>
<pubDate>Fri, 06 Aug 2021 16:17:11 +0430</pubDate>
</item>[/shortrss]
[fullrss]<item turbo="{allow-turbo}">
<title>Useful design patterns resources in C#</title>
<guid isPermaLink="true">https://farid.partonia.ir/index.php?newsid=7</guid>
<link>https://farid.partonia.ir/index.php?newsid=7</link>
<category><![CDATA[.NET]]></category>
<dc:creator>FariD</dc:creator>
<pubDate>Fri, 06 Aug 2021 16:17:11 +0430</pubDate>
<description><![CDATA[<p>These are a compilation of publicly shared files of Do-Factory Gang Of Four, O'reilly Head First Design Patterns, Refactoring-Guru dive Into design patterns, and dive Into refactoring books with C# example projects.</p>]]></description>
[allow-turbo]<turbo:content><![CDATA[<p><b>Content:</b></p> <ul> <li>Do-Factory version of Gang Of Four E-book and examples for C# with Visio UML Diagrams</li> <li>O'reilly Head First Design Patterns E-book and examples for C# </li> <li>Refactoring-Guru Dive Into Design Patterns E-book and examples for C# and Dive Into Refactoring offline E-book.</li> <li>Two complete set of C# projects for design patterns.</li> </ul> <p><a href="https://mega.nz/file/Tz4C3BqB#HrAlw1PC9tbK6GMtYR00GiNT0Y-TUUqP5JoCN-wjNEM" target="_blank" title="Click here Download" rel="noopener external">Click here Download</a></p> <p>Ask for the password through the Contact Me page. I'll reply ASAP.</p> <p></p> <p><br></p> <p><br></p>]]></turbo:content>[/allow-turbo]
[allow-dzen]<content:encoded><![CDATA[<p><b>Content:</b></p> <ul> <li>Do-Factory version of Gang Of Four E-book and examples for C# with Visio UML Diagrams</li> <li>O'reilly Head First Design Patterns E-book and examples for C# </li> <li>Refactoring-Guru Dive Into Design Patterns E-book and examples for C# and Dive Into Refactoring offline E-book.</li> <li>Two complete set of C# projects for design patterns.</li> </ul> <p><a href="https://mega.nz/file/Tz4C3BqB#HrAlw1PC9tbK6GMtYR00GiNT0Y-TUUqP5JoCN-wjNEM" target="_blank" title="Click here Download" rel="noopener external">Click here Download</a></p> <p>Ask for the password through the Contact Me page. I'll reply ASAP.</p> <p></p> <p><br></p> <p><br></p>]]></content:encoded>[/allow-dzen]
</item>[/fullrss]
[yandexrss]<item turbo="{allow-turbo}">
<title>Useful design patterns resources in C#</title>
<link>https://farid.partonia.ir/index.php?newsid=7</link>
<description><p>These are a compilation of publicly shared files of Do-Factory Gang Of Four, O'reilly Head First Design Patterns, Refactoring-Guru dive Into design patterns, and dive Into refactoring books with C# example projects.</p></description>
<category>.NET</category>
<pubDate>Fri, 06 Aug 2021 16:17:11 +0430</pubDate>
<yandex:full-text><p><b>Content:</b></p> <ul> <li>Do-Factory version of Gang Of Four E-book and examples for C# with Visio UML Diagrams</li> <li>O'reilly Head First Design Patterns E-book and examples for C# </li> <li>Refactoring-Guru Dive Into Design Patterns E-book and examples for C# and Dive Into Refactoring offline E-book.</li> <li>Two complete set of C# projects for design patterns.</li> </ul> <p><a href="https://mega.nz/file/Tz4C3BqB#HrAlw1PC9tbK6GMtYR00GiNT0Y-TUUqP5JoCN-wjNEM" target="_blank" title="Click here Download" rel="noopener external">Click here Download</a></p> <p>Ask for the password through the Contact Me page. I'll reply ASAP.</p> <p></p> <p><br></p> <p><br></p></yandex:full-text>
[allow-turbo]<turbo:content><![CDATA[<p><b>Content:</b></p> <ul> <li>Do-Factory version of Gang Of Four E-book and examples for C# with Visio UML Diagrams</li> <li>O'reilly Head First Design Patterns E-book and examples for C# </li> <li>Refactoring-Guru Dive Into Design Patterns E-book and examples for C# and Dive Into Refactoring offline E-book.</li> <li>Two complete set of C# projects for design patterns.</li> </ul> <p><a href="https://mega.nz/file/Tz4C3BqB#HrAlw1PC9tbK6GMtYR00GiNT0Y-TUUqP5JoCN-wjNEM" target="_blank" title="Click here Download" rel="noopener external">Click here Download</a></p> <p>Ask for the password through the Contact Me page. I'll reply ASAP.</p> <p></p> <p><br></p> <p><br></p>]]></turbo:content>[/allow-turbo]
[allow-dzen]<content:encoded><![CDATA[<p><b>Content:</b></p> <ul> <li>Do-Factory version of Gang Of Four E-book and examples for C# with Visio UML Diagrams</li> <li>O'reilly Head First Design Patterns E-book and examples for C# </li> <li>Refactoring-Guru Dive Into Design Patterns E-book and examples for C# and Dive Into Refactoring offline E-book.</li> <li>Two complete set of C# projects for design patterns.</li> </ul> <p><a href="https://mega.nz/file/Tz4C3BqB#HrAlw1PC9tbK6GMtYR00GiNT0Y-TUUqP5JoCN-wjNEM" target="_blank" title="Click here Download" rel="noopener external">Click here Download</a></p> <p>Ask for the password through the Contact Me page. I'll reply ASAP.</p> <p></p> <p><br></p> <p><br></p>]]></content:encoded>[/allow-dzen]
</item>[/yandexrss][shortrss]<item turbo="{allow-turbo}">
<title>A Visual Basic Guide</title>
<guid isPermaLink="true">https://farid.partonia.ir/index.php?newsid=4</guid>
<link>https://farid.partonia.ir/index.php?newsid=4</link>
<description><p>It was 2018 that I decided to abandon using Visual-Basic.Net to migrate and use C#, because Microsoft announced tons of new features for this programming language resulting a fast growing community. I decided to release this tutorial which is compiled in 2018.</p> <p>It is a thorough document that covers most of the capabilities from beginner to advanced including practical examples.</p> <p>To see the table of contents and download the book, please view the full article.</p></description>
[allow-turbo]<turbo:content><![CDATA[<h1><span>Table of Contents:</span></h1> <h4><b>Compilation And Execution Of .Net</b></h4> <h4><b><span>Database Access Types</span></b></h4> <h4><b><span>1.Programming Concepts</span></b></h4> <p style="padding-left:40px;"><b><span>1.1 Assemblies</span></b></p> <p style="padding-left:80px;"><span>1.1.1 Assembly Contents</span></p> <p style="padding-left:80px;"><span>1.1.2 Metadata and Self-Describing Components</span></p> <p style="padding-left:80px;"><span>1.1.3 Friend Assemblies</span></p> <p style="padding-left:80px;"><span>1.1.4 Global Assembly Cache</span></p> <p style="padding-left:40px;"><b><span>1.2 Asynchronous Programming with Async and Await</span></b></p> <p style="padding-left:40px;"><b><span>1.3 Attributes</span></b></p> <p style="padding-left:80px;"><span>1.3.1 Attribute Modifier</span></p> <p style="padding-left:80px;"><span>1.3.2 Serializable</span></p> <p style="padding-left:80px;"><span>1.3.3 DllImportAttribute</span></p> <p style="padding-left:80px;"><span>1.3.4 MarshalAsAttribute</span></p> <p style="padding-left:80px;"><span>1.3.5 Assembly Identity Attributes</span></p> <p style="padding-left:80px;"><span>1.3.6 Informational Attributes</span></p> <p style="padding-left:80px;"><span>1.3.7 Assembly Manifest Attributes</span></p> <p style="padding-left:80px;"><span>1.3.8 Strong Name Attributes</span></p> <p style="padding-left:80px;"><span>1.3.9 Obsolete</span></p> <p style="padding-left:80px;"><span>1.3.10 Conditional</span></p> <p style="padding-left:80px;"><span>1.3.11 Using Multiple Identifiers</span></p> <p style="padding-left:80px;"><span>1.3.12 Documentation</span></p> <p style="padding-left:80px;"><span>1.3.13 Caller Info</span></p> <p style="padding-left:80px;"><span>1.3.14 Visual Basic</span></p> <p style="padding-left:80px;"><span>1.3.15 Extension</span></p> <p style="padding-left:40px;"><b><span>1.4 Reflection</span></b></p> <p style="padding-left:40px;"><b><span>1.5 Dynamic Language Runtime (DLR) And Expresstion Trees</span></b></p> <p style="padding-left:40px;"><b><span>1.6 Language Integrated Query (LINQ)</span></b></p> <p style="padding-left:80px;"><span>1.6.1 Queries</span></p> <p style="padding-left:80px;"><span>1.6.2 Lambda Expressions</span></p> <p style="padding-left:40px;"><b><span>1.7 Object-Oriented Programming</span></b></p> <p style="padding-left:80px;"><span>1.7.1 Classes and objects</span></p> <p style="padding-left:80px;"><span>1.7.2 Scope</span></p> <p style="padding-left:80px;"><span>1.7.3 Access Levels</span></p> <p style="padding-left:80px;"><span>1.7.4 Class members</span></p> <p style="padding-left:80px;"><span>1.7.5 Shared Classes and Members</span></p> <p style="padding-left:80px;"><span>1.7.6 Partial</span></p> <p style="padding-left:80px;"><span>1.7.7 Anonymous types</span></p> <p style="padding-left:80px;"><span>1.7.8 Inheritance</span></p> <p style="padding-left:80px;"><span>1.7.9 Overriding</span></p> <p style="padding-left:80px;"><span>1.7.10 Overloading</span></p> <p style="padding-left:80px;"><span>1.7.11 Interfaces</span></p> <p style="padding-left:80px;"><span>1.7.12 Generics</span></p> <p style="padding-left:80px;"><span>1.7.13 Delegates</span></p> <p style="padding-left:80px;"><span>1.7.14 Predicate(Of T) Delegate</span></p> <p style="padding-left:80px;"><span>1.7.15 Serialization</span></p> <p style="padding-left:40px;"><b><span>1.8 Threading</span></b></p> <h4><span>2.Program Structure and Code</span></h4> <p style="padding-left:40px;"><b><span>2.1 Error Types</span></b></p> <p style="padding-left:80px;"><span>2.1.1 Syntax Errors</span></p> <p style="padding-left:80px;"><span>2.1.2 Run-Time Errors</span></p> <p style="padding-left:80px;"><span>2.1.3 Logic Errors</span></p> <p style="padding-left:40px;"><b><span>2.2 File-Level Programming Elements</span></b></p> <p style="padding-left:80px;"><span>2.2.1 Option statements</span></p> <p style="padding-left:80px;"><span>2.2.2 Imports Statement</span></p> <p style="padding-left:80px;"><span>2.2.3 Namespace statements</span></p> <p style="padding-left:40px;"><b><span>2.3 Early and Late Binding</span></b></p> <p style="padding-left:40px;"><b><span>2.4 Implicit Line Continuation</span></b></p> <p style="padding-left:40px;"><b><span>2.5 Disposing external resources with Garbage Collector</span></b></p> <p style="padding-left:40px;"><b><span>2.6 Component vs. Control</span></b></p> <p style="padding-left:40px;"><b><span>2.7 Naming Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.8 Layout Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.9 Commenting Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.10 Language Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.11 Secure Coding Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.12 Commenting Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.13 Me, My, MyBase, and MyClass</span></b></p> <p style="padding-left:80px;"><span>2.13.1 Me</span></p> <p style="padding-left:80px;"><span>2.13.2 My</span></p> <p style="padding-left:80px;"><span>2.13.3 MyBase</span></p> <p style="padding-left:80px;"><span>2.13.4 MyClass</span></p> <h4><span>3.Language Reference</span></h4> <p style="padding-left:40px;"><b><span>3.1 Runtime Library Members</span></b></p> <p style="padding-left:80px;"><span>3.1.1 Runtime Classes</span></p> <p style="padding-left:80px;"><span>3.1.2 Runtime Enums</span></p> <p style="padding-left:40px;"><b><span>3.2 COM Interop</span></b></p> <p style="padding-left:80px;"><span>3.2.1 Reference COM Objects</span></p> <p style="padding-left:80px;"><span>3.2.2 Work with ActiveX Controls</span></p> <p style="padding-left:80px;"><span>3.2.3 API Calls Using Declare</span></p> <p style="padding-left:80px;"><span>3.2.4 API Calls Using DllImport</span></p> <p style="padding-left:40px;"><b><span>3.3 Directives</span></b></p> <p style="padding-left:80px;"><span>3.3.1 #Const</span></p> <p style="padding-left:80px;"><span>3.3.2 #ExternalSource</span></p> <p style="padding-left:80px;"><span>3.3.3 #If...Then...#Else</span></p> <p style="padding-left:80px;"><span>3.3.4 #Region</span></p> <p style="padding-left:80px;"><span>3.3.5 #Disable, #Enable</span></p> <p style="padding-left:40px;"><b><span>3.4 Data Types</span></b></p> <p style="padding-left:80px;"><span>3.4.1 Types</span></p> <p style="padding-left:80px;"><span>3.4.2 Arrays</span></p> <p style="padding-left:80px;"><span>3.4.3 Erase Statement</span></p> <p style="padding-left:80px;"><span>3.4.4 Collections</span></p> <p style="padding-left:80px;"><span>3.4.5 Tuples</span></p> <p style="padding-left:80px;"><span>3.4.6 Type characters</span></p> <p style="padding-left:40px;"><b><span>3.5 Type Conversion</span></b></p> <p style="padding-left:80px;"><span>3.5.1 Widening and Narrowing Conversions</span></p> <p style="padding-left:80px;"><span>3.5.2 Implicit and Explicit Conversions</span></p> <p style="padding-left:80px;"><span>3.5.3 CType</span></p> <p style="padding-left:80px;"><span>3.5.4 Type.Parse</span></p> <p style="padding-left:80px;"><span>3.5.5 System.Convert</span></p> <p style="padding-left:40px;"><b><span>3.6 String Functions</span></b></p> <p style="padding-left:40px;"><b><span>3.7 Math</span></b></p> <p style="padding-left:80px;"><span>3.7.1 Math Functions</span></p> <p style="padding-left:80px;"><span>3.7.2 Help</span></p> <p style="padding-left:40px;"><b><span>3.8 Operators</span></b></p> <p style="padding-left:80px;"><span>3.8.1 Operator Precedence in Visual Basic</span></p> <p style="padding-left:80px;"><span>3.8.2 Arithmetic Operators</span></p> <p style="padding-left:80px;"><span>3.8.3 Assignment Operators</span></p> <p style="padding-left:80px;"><span>3.8.4 Comparison Operators</span></p> <p style="padding-left:80px;"><span>3.8.5 Logical/Bitwise Operators</span></p> <p style="padding-left:80px;"><span>3.8.6 Concatenation Operators</span></p> <p style="padding-left:80px;"><span>3.8.7 Bit Shift Operators</span></p> <p style="padding-left:80px;"><span>3.8.8 Miscellaneous Operators</span></p> <p style="padding-left:80px;"><span>3.8.9 DirectCast Operator</span></p> <p style="padding-left:80px;"><span>3.8.10 TryCast Operator</span></p> <p style="padding-left:40px;"><b><span>3.9 Parameter List And Arguments</span></b></p> <p style="padding-left:80px;"><span>3.9.1 Passing Arguments</span></p> <p style="padding-left:40px;"><b><span>3.10 Declaring Elements</span></b></p> <p style="padding-left:80px;"><span>3.10.1 Declare Statement</span></p> <p style="padding-left:80px;"><span>3.10.2 Dim Statement</span></p> <p style="padding-left:80px;"><span>3.10.3 Const Statement</span></p> <p style="padding-left:80px;"><span>3.10.4 Enum Statement</span></p> <p style="padding-left:80px;"><span>3.10.5 Class Statement</span></p> <p style="padding-left:80px;"><span>3.10.6 Structure Statement</span></p> <p style="padding-left:80px;"><span>3.10.7 Module Statement</span></p> <p style="padding-left:80px;"><span>3.10.8 Interface Statement</span></p> <p style="padding-left:80px;"><span>3.10.9 Function Statement</span></p> <p style="padding-left:80px;"><span>3.10.10 Sub Statement</span></p> <p style="padding-left:80px;"><span>3.10.11 Property Statement</span></p> <p style="padding-left:80px;"><span>3.10.12 Operator Statement</span></p> <p style="padding-left:80px;"><span>3.10.13 Event Statement</span></p> <p style="padding-left:80px;"><span>3.10.14 Delegate Statement</span></p> <p style="padding-left:40px;"><b><span>3.11 Control Flow</span></b></p> <p style="padding-left:80px;"><span>3.11.1 Decision Structures</span></p> <p style="padding-left:80px;"><span>3.11.2 Loop Structures</span></p> <p style="padding-left:80px;"><span>3.11.3 Other Control Structures</span></p> <p style="padding-left:40px;"><b><span>3.12 Error Handling</span></b></p> <p style="padding-left:80px;"><span>3.12.1 Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.2 On Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.3 GoTo Statement</span></p> <p style="padding-left:40px;"><b><span>3.13 Statements</span></b></p> <p style="padding-left:80px;"><span>3.13.1 Call Statement</span></p> <p style="padding-left:80px;"><span>3.13.2 SyncLock Statement</span></p> <p style="padding-left:80px;"><span>3.13.3 Exit Statement</span></p> <p style="padding-left:80px;"><span>3.13.4 Stop Statement</span></p> <p style="padding-left:80px;"><span>3.13.5 End Statement</span></p> <p style="padding-left:80px;"><span>3.13.6 End &lt;keyword&gt; Statement</span></p> <p style="padding-left:80px;"><span>3.13.7 Resume Statement</span></p> <p style="padding-left:40px;"><b><span>3.14 XML Tags for Documentation Comments</span></b></p> <p style="padding-left:80px;"><span>3.14.1 &lt;c&gt;</span></p> <p style="padding-left:80px;"><span>3.14.2 &lt;code&gt;</span></p> <p style="padding-left:80px;"><span>3.14.3 &lt;example&gt;</span></p> <p style="padding-left:80px;"><span>3.14.4 &lt;exception&gt;</span></p> <p style="padding-left:80px;"><span>3.14.5 &lt;include&gt;</span></p> <p style="padding-left:80px;"><span>3.14.6 &lt;list&gt;</span></p> <p style="padding-left:80px;"><span>3.14.7 &lt;para&gt;</span></p> <p style="padding-left:80px;"><span>3.14.8 &lt;param&gt;</span></p> <p style="padding-left:80px;"><span>3.14.9 &lt;paramref&gt;</span></p> <p style="padding-left:80px;"><span>3.14.10 &lt;permission&gt;</span></p> <p style="padding-left:80px;"><span>3.14.11 &lt;remarks&gt;</span></p> <p style="padding-left:80px;"><span>3.14.12 &lt;returns&gt;</span></p> <p style="padding-left:80px;"><span>3.14.13 &lt;see&gt;</span></p> <p style="padding-left:80px;"><span>3.14.14 &lt;seealso&gt;</span></p> <p style="padding-left:80px;"><span>3.14.15 &lt;summary&gt;</span></p> <p style="padding-left:80px;"><span>3.14.16 &lt;typeparam&gt;</span></p> <p style="padding-left:80px;"><span>3.14.17 &lt;value&gt;</span></p> <p style="padding-left:40px;"><b><span>3.15 XML</span></b></p> <p style="padding-left:80px;"><span>3.15.1 Literals</span></p> <p style="padding-left:80px;"><span>3.15.2 Axis Properties</span></p> <p style="padding-left:40px;"><b><span>3.16 Walkthroughs</span></b></p> <p><b><a href="https://www.upload.ee/files/13362803/Visual_Basic_Guide_By_FariD_P_2018.docx.html" target="_blank" title="Download Link" rel="noopener external noreferrer">Click to Download</a></b></p>]]></turbo:content>[/allow-turbo]
<category>.NET</category>
<dc:creator>FariD</dc:creator>
<pubDate>Tue, 03 Aug 2021 14:21:43 +0430</pubDate>
</item>[/shortrss]
[fullrss]<item turbo="{allow-turbo}">
<title>A Visual Basic Guide</title>
<guid isPermaLink="true">https://farid.partonia.ir/index.php?newsid=4</guid>
<link>https://farid.partonia.ir/index.php?newsid=4</link>
<category><![CDATA[.NET]]></category>
<dc:creator>FariD</dc:creator>
<pubDate>Tue, 03 Aug 2021 14:21:43 +0430</pubDate>
<description><![CDATA[<p>It was 2018 that I decided to abandon using Visual-Basic.Net to migrate and use C#, because Microsoft announced tons of new features for this programming language resulting a fast growing community. I decided to release this tutorial which is compiled in 2018.</p> <p>It is a thorough document that covers most of the capabilities from beginner to advanced including practical examples.</p> <p>To see the table of contents and download the book, please view the full article.</p>]]></description>
[allow-turbo]<turbo:content><![CDATA[<h1><span>Table of Contents:</span></h1> <h4><b>Compilation And Execution Of .Net</b></h4> <h4><b><span>Database Access Types</span></b></h4> <h4><b><span>1.Programming Concepts</span></b></h4> <p style="padding-left:40px;"><b><span>1.1 Assemblies</span></b></p> <p style="padding-left:80px;"><span>1.1.1 Assembly Contents</span></p> <p style="padding-left:80px;"><span>1.1.2 Metadata and Self-Describing Components</span></p> <p style="padding-left:80px;"><span>1.1.3 Friend Assemblies</span></p> <p style="padding-left:80px;"><span>1.1.4 Global Assembly Cache</span></p> <p style="padding-left:40px;"><b><span>1.2 Asynchronous Programming with Async and Await</span></b></p> <p style="padding-left:40px;"><b><span>1.3 Attributes</span></b></p> <p style="padding-left:80px;"><span>1.3.1 Attribute Modifier</span></p> <p style="padding-left:80px;"><span>1.3.2 Serializable</span></p> <p style="padding-left:80px;"><span>1.3.3 DllImportAttribute</span></p> <p style="padding-left:80px;"><span>1.3.4 MarshalAsAttribute</span></p> <p style="padding-left:80px;"><span>1.3.5 Assembly Identity Attributes</span></p> <p style="padding-left:80px;"><span>1.3.6 Informational Attributes</span></p> <p style="padding-left:80px;"><span>1.3.7 Assembly Manifest Attributes</span></p> <p style="padding-left:80px;"><span>1.3.8 Strong Name Attributes</span></p> <p style="padding-left:80px;"><span>1.3.9 Obsolete</span></p> <p style="padding-left:80px;"><span>1.3.10 Conditional</span></p> <p style="padding-left:80px;"><span>1.3.11 Using Multiple Identifiers</span></p> <p style="padding-left:80px;"><span>1.3.12 Documentation</span></p> <p style="padding-left:80px;"><span>1.3.13 Caller Info</span></p> <p style="padding-left:80px;"><span>1.3.14 Visual Basic</span></p> <p style="padding-left:80px;"><span>1.3.15 Extension</span></p> <p style="padding-left:40px;"><b><span>1.4 Reflection</span></b></p> <p style="padding-left:40px;"><b><span>1.5 Dynamic Language Runtime (DLR) And Expresstion Trees</span></b></p> <p style="padding-left:40px;"><b><span>1.6 Language Integrated Query (LINQ)</span></b></p> <p style="padding-left:80px;"><span>1.6.1 Queries</span></p> <p style="padding-left:80px;"><span>1.6.2 Lambda Expressions</span></p> <p style="padding-left:40px;"><b><span>1.7 Object-Oriented Programming</span></b></p> <p style="padding-left:80px;"><span>1.7.1 Classes and objects</span></p> <p style="padding-left:80px;"><span>1.7.2 Scope</span></p> <p style="padding-left:80px;"><span>1.7.3 Access Levels</span></p> <p style="padding-left:80px;"><span>1.7.4 Class members</span></p> <p style="padding-left:80px;"><span>1.7.5 Shared Classes and Members</span></p> <p style="padding-left:80px;"><span>1.7.6 Partial</span></p> <p style="padding-left:80px;"><span>1.7.7 Anonymous types</span></p> <p style="padding-left:80px;"><span>1.7.8 Inheritance</span></p> <p style="padding-left:80px;"><span>1.7.9 Overriding</span></p> <p style="padding-left:80px;"><span>1.7.10 Overloading</span></p> <p style="padding-left:80px;"><span>1.7.11 Interfaces</span></p> <p style="padding-left:80px;"><span>1.7.12 Generics</span></p> <p style="padding-left:80px;"><span>1.7.13 Delegates</span></p> <p style="padding-left:80px;"><span>1.7.14 Predicate(Of T) Delegate</span></p> <p style="padding-left:80px;"><span>1.7.15 Serialization</span></p> <p style="padding-left:40px;"><b><span>1.8 Threading</span></b></p> <h4><span>2.Program Structure and Code</span></h4> <p style="padding-left:40px;"><b><span>2.1 Error Types</span></b></p> <p style="padding-left:80px;"><span>2.1.1 Syntax Errors</span></p> <p style="padding-left:80px;"><span>2.1.2 Run-Time Errors</span></p> <p style="padding-left:80px;"><span>2.1.3 Logic Errors</span></p> <p style="padding-left:40px;"><b><span>2.2 File-Level Programming Elements</span></b></p> <p style="padding-left:80px;"><span>2.2.1 Option statements</span></p> <p style="padding-left:80px;"><span>2.2.2 Imports Statement</span></p> <p style="padding-left:80px;"><span>2.2.3 Namespace statements</span></p> <p style="padding-left:40px;"><b><span>2.3 Early and Late Binding</span></b></p> <p style="padding-left:40px;"><b><span>2.4 Implicit Line Continuation</span></b></p> <p style="padding-left:40px;"><b><span>2.5 Disposing external resources with Garbage Collector</span></b></p> <p style="padding-left:40px;"><b><span>2.6 Component vs. Control</span></b></p> <p style="padding-left:40px;"><b><span>2.7 Naming Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.8 Layout Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.9 Commenting Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.10 Language Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.11 Secure Coding Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.12 Commenting Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.13 Me, My, MyBase, and MyClass</span></b></p> <p style="padding-left:80px;"><span>2.13.1 Me</span></p> <p style="padding-left:80px;"><span>2.13.2 My</span></p> <p style="padding-left:80px;"><span>2.13.3 MyBase</span></p> <p style="padding-left:80px;"><span>2.13.4 MyClass</span></p> <h4><span>3.Language Reference</span></h4> <p style="padding-left:40px;"><b><span>3.1 Runtime Library Members</span></b></p> <p style="padding-left:80px;"><span>3.1.1 Runtime Classes</span></p> <p style="padding-left:80px;"><span>3.1.2 Runtime Enums</span></p> <p style="padding-left:40px;"><b><span>3.2 COM Interop</span></b></p> <p style="padding-left:80px;"><span>3.2.1 Reference COM Objects</span></p> <p style="padding-left:80px;"><span>3.2.2 Work with ActiveX Controls</span></p> <p style="padding-left:80px;"><span>3.2.3 API Calls Using Declare</span></p> <p style="padding-left:80px;"><span>3.2.4 API Calls Using DllImport</span></p> <p style="padding-left:40px;"><b><span>3.3 Directives</span></b></p> <p style="padding-left:80px;"><span>3.3.1 #Const</span></p> <p style="padding-left:80px;"><span>3.3.2 #ExternalSource</span></p> <p style="padding-left:80px;"><span>3.3.3 #If...Then...#Else</span></p> <p style="padding-left:80px;"><span>3.3.4 #Region</span></p> <p style="padding-left:80px;"><span>3.3.5 #Disable, #Enable</span></p> <p style="padding-left:40px;"><b><span>3.4 Data Types</span></b></p> <p style="padding-left:80px;"><span>3.4.1 Types</span></p> <p style="padding-left:80px;"><span>3.4.2 Arrays</span></p> <p style="padding-left:80px;"><span>3.4.3 Erase Statement</span></p> <p style="padding-left:80px;"><span>3.4.4 Collections</span></p> <p style="padding-left:80px;"><span>3.4.5 Tuples</span></p> <p style="padding-left:80px;"><span>3.4.6 Type characters</span></p> <p style="padding-left:40px;"><b><span>3.5 Type Conversion</span></b></p> <p style="padding-left:80px;"><span>3.5.1 Widening and Narrowing Conversions</span></p> <p style="padding-left:80px;"><span>3.5.2 Implicit and Explicit Conversions</span></p> <p style="padding-left:80px;"><span>3.5.3 CType</span></p> <p style="padding-left:80px;"><span>3.5.4 Type.Parse</span></p> <p style="padding-left:80px;"><span>3.5.5 System.Convert</span></p> <p style="padding-left:40px;"><b><span>3.6 String Functions</span></b></p> <p style="padding-left:40px;"><b><span>3.7 Math</span></b></p> <p style="padding-left:80px;"><span>3.7.1 Math Functions</span></p> <p style="padding-left:80px;"><span>3.7.2 Help</span></p> <p style="padding-left:40px;"><b><span>3.8 Operators</span></b></p> <p style="padding-left:80px;"><span>3.8.1 Operator Precedence in Visual Basic</span></p> <p style="padding-left:80px;"><span>3.8.2 Arithmetic Operators</span></p> <p style="padding-left:80px;"><span>3.8.3 Assignment Operators</span></p> <p style="padding-left:80px;"><span>3.8.4 Comparison Operators</span></p> <p style="padding-left:80px;"><span>3.8.5 Logical/Bitwise Operators</span></p> <p style="padding-left:80px;"><span>3.8.6 Concatenation Operators</span></p> <p style="padding-left:80px;"><span>3.8.7 Bit Shift Operators</span></p> <p style="padding-left:80px;"><span>3.8.8 Miscellaneous Operators</span></p> <p style="padding-left:80px;"><span>3.8.9 DirectCast Operator</span></p> <p style="padding-left:80px;"><span>3.8.10 TryCast Operator</span></p> <p style="padding-left:40px;"><b><span>3.9 Parameter List And Arguments</span></b></p> <p style="padding-left:80px;"><span>3.9.1 Passing Arguments</span></p> <p style="padding-left:40px;"><b><span>3.10 Declaring Elements</span></b></p> <p style="padding-left:80px;"><span>3.10.1 Declare Statement</span></p> <p style="padding-left:80px;"><span>3.10.2 Dim Statement</span></p> <p style="padding-left:80px;"><span>3.10.3 Const Statement</span></p> <p style="padding-left:80px;"><span>3.10.4 Enum Statement</span></p> <p style="padding-left:80px;"><span>3.10.5 Class Statement</span></p> <p style="padding-left:80px;"><span>3.10.6 Structure Statement</span></p> <p style="padding-left:80px;"><span>3.10.7 Module Statement</span></p> <p style="padding-left:80px;"><span>3.10.8 Interface Statement</span></p> <p style="padding-left:80px;"><span>3.10.9 Function Statement</span></p> <p style="padding-left:80px;"><span>3.10.10 Sub Statement</span></p> <p style="padding-left:80px;"><span>3.10.11 Property Statement</span></p> <p style="padding-left:80px;"><span>3.10.12 Operator Statement</span></p> <p style="padding-left:80px;"><span>3.10.13 Event Statement</span></p> <p style="padding-left:80px;"><span>3.10.14 Delegate Statement</span></p> <p style="padding-left:40px;"><b><span>3.11 Control Flow</span></b></p> <p style="padding-left:80px;"><span>3.11.1 Decision Structures</span></p> <p style="padding-left:80px;"><span>3.11.2 Loop Structures</span></p> <p style="padding-left:80px;"><span>3.11.3 Other Control Structures</span></p> <p style="padding-left:40px;"><b><span>3.12 Error Handling</span></b></p> <p style="padding-left:80px;"><span>3.12.1 Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.2 On Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.3 GoTo Statement</span></p> <p style="padding-left:40px;"><b><span>3.13 Statements</span></b></p> <p style="padding-left:80px;"><span>3.13.1 Call Statement</span></p> <p style="padding-left:80px;"><span>3.13.2 SyncLock Statement</span></p> <p style="padding-left:80px;"><span>3.13.3 Exit Statement</span></p> <p style="padding-left:80px;"><span>3.13.4 Stop Statement</span></p> <p style="padding-left:80px;"><span>3.13.5 End Statement</span></p> <p style="padding-left:80px;"><span>3.13.6 End &lt;keyword&gt; Statement</span></p> <p style="padding-left:80px;"><span>3.13.7 Resume Statement</span></p> <p style="padding-left:40px;"><b><span>3.14 XML Tags for Documentation Comments</span></b></p> <p style="padding-left:80px;"><span>3.14.1 &lt;c&gt;</span></p> <p style="padding-left:80px;"><span>3.14.2 &lt;code&gt;</span></p> <p style="padding-left:80px;"><span>3.14.3 &lt;example&gt;</span></p> <p style="padding-left:80px;"><span>3.14.4 &lt;exception&gt;</span></p> <p style="padding-left:80px;"><span>3.14.5 &lt;include&gt;</span></p> <p style="padding-left:80px;"><span>3.14.6 &lt;list&gt;</span></p> <p style="padding-left:80px;"><span>3.14.7 &lt;para&gt;</span></p> <p style="padding-left:80px;"><span>3.14.8 &lt;param&gt;</span></p> <p style="padding-left:80px;"><span>3.14.9 &lt;paramref&gt;</span></p> <p style="padding-left:80px;"><span>3.14.10 &lt;permission&gt;</span></p> <p style="padding-left:80px;"><span>3.14.11 &lt;remarks&gt;</span></p> <p style="padding-left:80px;"><span>3.14.12 &lt;returns&gt;</span></p> <p style="padding-left:80px;"><span>3.14.13 &lt;see&gt;</span></p> <p style="padding-left:80px;"><span>3.14.14 &lt;seealso&gt;</span></p> <p style="padding-left:80px;"><span>3.14.15 &lt;summary&gt;</span></p> <p style="padding-left:80px;"><span>3.14.16 &lt;typeparam&gt;</span></p> <p style="padding-left:80px;"><span>3.14.17 &lt;value&gt;</span></p> <p style="padding-left:40px;"><b><span>3.15 XML</span></b></p> <p style="padding-left:80px;"><span>3.15.1 Literals</span></p> <p style="padding-left:80px;"><span>3.15.2 Axis Properties</span></p> <p style="padding-left:40px;"><b><span>3.16 Walkthroughs</span></b></p> <p><b><a href="https://www.upload.ee/files/13362803/Visual_Basic_Guide_By_FariD_P_2018.docx.html" target="_blank" title="Download Link" rel="noopener external noreferrer">Click to Download</a></b></p>]]></turbo:content>[/allow-turbo]
[allow-dzen]<content:encoded><![CDATA[<h1><span>Table of Contents:</span></h1> <h4><b>Compilation And Execution Of .Net</b></h4> <h4><b><span>Database Access Types</span></b></h4> <h4><b><span>1.Programming Concepts</span></b></h4> <p style="padding-left:40px;"><b><span>1.1 Assemblies</span></b></p> <p style="padding-left:80px;"><span>1.1.1 Assembly Contents</span></p> <p style="padding-left:80px;"><span>1.1.2 Metadata and Self-Describing Components</span></p> <p style="padding-left:80px;"><span>1.1.3 Friend Assemblies</span></p> <p style="padding-left:80px;"><span>1.1.4 Global Assembly Cache</span></p> <p style="padding-left:40px;"><b><span>1.2 Asynchronous Programming with Async and Await</span></b></p> <p style="padding-left:40px;"><b><span>1.3 Attributes</span></b></p> <p style="padding-left:80px;"><span>1.3.1 Attribute Modifier</span></p> <p style="padding-left:80px;"><span>1.3.2 Serializable</span></p> <p style="padding-left:80px;"><span>1.3.3 DllImportAttribute</span></p> <p style="padding-left:80px;"><span>1.3.4 MarshalAsAttribute</span></p> <p style="padding-left:80px;"><span>1.3.5 Assembly Identity Attributes</span></p> <p style="padding-left:80px;"><span>1.3.6 Informational Attributes</span></p> <p style="padding-left:80px;"><span>1.3.7 Assembly Manifest Attributes</span></p> <p style="padding-left:80px;"><span>1.3.8 Strong Name Attributes</span></p> <p style="padding-left:80px;"><span>1.3.9 Obsolete</span></p> <p style="padding-left:80px;"><span>1.3.10 Conditional</span></p> <p style="padding-left:80px;"><span>1.3.11 Using Multiple Identifiers</span></p> <p style="padding-left:80px;"><span>1.3.12 Documentation</span></p> <p style="padding-left:80px;"><span>1.3.13 Caller Info</span></p> <p style="padding-left:80px;"><span>1.3.14 Visual Basic</span></p> <p style="padding-left:80px;"><span>1.3.15 Extension</span></p> <p style="padding-left:40px;"><b><span>1.4 Reflection</span></b></p> <p style="padding-left:40px;"><b><span>1.5 Dynamic Language Runtime (DLR) And Expresstion Trees</span></b></p> <p style="padding-left:40px;"><b><span>1.6 Language Integrated Query (LINQ)</span></b></p> <p style="padding-left:80px;"><span>1.6.1 Queries</span></p> <p style="padding-left:80px;"><span>1.6.2 Lambda Expressions</span></p> <p style="padding-left:40px;"><b><span>1.7 Object-Oriented Programming</span></b></p> <p style="padding-left:80px;"><span>1.7.1 Classes and objects</span></p> <p style="padding-left:80px;"><span>1.7.2 Scope</span></p> <p style="padding-left:80px;"><span>1.7.3 Access Levels</span></p> <p style="padding-left:80px;"><span>1.7.4 Class members</span></p> <p style="padding-left:80px;"><span>1.7.5 Shared Classes and Members</span></p> <p style="padding-left:80px;"><span>1.7.6 Partial</span></p> <p style="padding-left:80px;"><span>1.7.7 Anonymous types</span></p> <p style="padding-left:80px;"><span>1.7.8 Inheritance</span></p> <p style="padding-left:80px;"><span>1.7.9 Overriding</span></p> <p style="padding-left:80px;"><span>1.7.10 Overloading</span></p> <p style="padding-left:80px;"><span>1.7.11 Interfaces</span></p> <p style="padding-left:80px;"><span>1.7.12 Generics</span></p> <p style="padding-left:80px;"><span>1.7.13 Delegates</span></p> <p style="padding-left:80px;"><span>1.7.14 Predicate(Of T) Delegate</span></p> <p style="padding-left:80px;"><span>1.7.15 Serialization</span></p> <p style="padding-left:40px;"><b><span>1.8 Threading</span></b></p> <h4><span>2.Program Structure and Code</span></h4> <p style="padding-left:40px;"><b><span>2.1 Error Types</span></b></p> <p style="padding-left:80px;"><span>2.1.1 Syntax Errors</span></p> <p style="padding-left:80px;"><span>2.1.2 Run-Time Errors</span></p> <p style="padding-left:80px;"><span>2.1.3 Logic Errors</span></p> <p style="padding-left:40px;"><b><span>2.2 File-Level Programming Elements</span></b></p> <p style="padding-left:80px;"><span>2.2.1 Option statements</span></p> <p style="padding-left:80px;"><span>2.2.2 Imports Statement</span></p> <p style="padding-left:80px;"><span>2.2.3 Namespace statements</span></p> <p style="padding-left:40px;"><b><span>2.3 Early and Late Binding</span></b></p> <p style="padding-left:40px;"><b><span>2.4 Implicit Line Continuation</span></b></p> <p style="padding-left:40px;"><b><span>2.5 Disposing external resources with Garbage Collector</span></b></p> <p style="padding-left:40px;"><b><span>2.6 Component vs. Control</span></b></p> <p style="padding-left:40px;"><b><span>2.7 Naming Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.8 Layout Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.9 Commenting Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.10 Language Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.11 Secure Coding Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.12 Commenting Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.13 Me, My, MyBase, and MyClass</span></b></p> <p style="padding-left:80px;"><span>2.13.1 Me</span></p> <p style="padding-left:80px;"><span>2.13.2 My</span></p> <p style="padding-left:80px;"><span>2.13.3 MyBase</span></p> <p style="padding-left:80px;"><span>2.13.4 MyClass</span></p> <h4><span>3.Language Reference</span></h4> <p style="padding-left:40px;"><b><span>3.1 Runtime Library Members</span></b></p> <p style="padding-left:80px;"><span>3.1.1 Runtime Classes</span></p> <p style="padding-left:80px;"><span>3.1.2 Runtime Enums</span></p> <p style="padding-left:40px;"><b><span>3.2 COM Interop</span></b></p> <p style="padding-left:80px;"><span>3.2.1 Reference COM Objects</span></p> <p style="padding-left:80px;"><span>3.2.2 Work with ActiveX Controls</span></p> <p style="padding-left:80px;"><span>3.2.3 API Calls Using Declare</span></p> <p style="padding-left:80px;"><span>3.2.4 API Calls Using DllImport</span></p> <p style="padding-left:40px;"><b><span>3.3 Directives</span></b></p> <p style="padding-left:80px;"><span>3.3.1 #Const</span></p> <p style="padding-left:80px;"><span>3.3.2 #ExternalSource</span></p> <p style="padding-left:80px;"><span>3.3.3 #If...Then...#Else</span></p> <p style="padding-left:80px;"><span>3.3.4 #Region</span></p> <p style="padding-left:80px;"><span>3.3.5 #Disable, #Enable</span></p> <p style="padding-left:40px;"><b><span>3.4 Data Types</span></b></p> <p style="padding-left:80px;"><span>3.4.1 Types</span></p> <p style="padding-left:80px;"><span>3.4.2 Arrays</span></p> <p style="padding-left:80px;"><span>3.4.3 Erase Statement</span></p> <p style="padding-left:80px;"><span>3.4.4 Collections</span></p> <p style="padding-left:80px;"><span>3.4.5 Tuples</span></p> <p style="padding-left:80px;"><span>3.4.6 Type characters</span></p> <p style="padding-left:40px;"><b><span>3.5 Type Conversion</span></b></p> <p style="padding-left:80px;"><span>3.5.1 Widening and Narrowing Conversions</span></p> <p style="padding-left:80px;"><span>3.5.2 Implicit and Explicit Conversions</span></p> <p style="padding-left:80px;"><span>3.5.3 CType</span></p> <p style="padding-left:80px;"><span>3.5.4 Type.Parse</span></p> <p style="padding-left:80px;"><span>3.5.5 System.Convert</span></p> <p style="padding-left:40px;"><b><span>3.6 String Functions</span></b></p> <p style="padding-left:40px;"><b><span>3.7 Math</span></b></p> <p style="padding-left:80px;"><span>3.7.1 Math Functions</span></p> <p style="padding-left:80px;"><span>3.7.2 Help</span></p> <p style="padding-left:40px;"><b><span>3.8 Operators</span></b></p> <p style="padding-left:80px;"><span>3.8.1 Operator Precedence in Visual Basic</span></p> <p style="padding-left:80px;"><span>3.8.2 Arithmetic Operators</span></p> <p style="padding-left:80px;"><span>3.8.3 Assignment Operators</span></p> <p style="padding-left:80px;"><span>3.8.4 Comparison Operators</span></p> <p style="padding-left:80px;"><span>3.8.5 Logical/Bitwise Operators</span></p> <p style="padding-left:80px;"><span>3.8.6 Concatenation Operators</span></p> <p style="padding-left:80px;"><span>3.8.7 Bit Shift Operators</span></p> <p style="padding-left:80px;"><span>3.8.8 Miscellaneous Operators</span></p> <p style="padding-left:80px;"><span>3.8.9 DirectCast Operator</span></p> <p style="padding-left:80px;"><span>3.8.10 TryCast Operator</span></p> <p style="padding-left:40px;"><b><span>3.9 Parameter List And Arguments</span></b></p> <p style="padding-left:80px;"><span>3.9.1 Passing Arguments</span></p> <p style="padding-left:40px;"><b><span>3.10 Declaring Elements</span></b></p> <p style="padding-left:80px;"><span>3.10.1 Declare Statement</span></p> <p style="padding-left:80px;"><span>3.10.2 Dim Statement</span></p> <p style="padding-left:80px;"><span>3.10.3 Const Statement</span></p> <p style="padding-left:80px;"><span>3.10.4 Enum Statement</span></p> <p style="padding-left:80px;"><span>3.10.5 Class Statement</span></p> <p style="padding-left:80px;"><span>3.10.6 Structure Statement</span></p> <p style="padding-left:80px;"><span>3.10.7 Module Statement</span></p> <p style="padding-left:80px;"><span>3.10.8 Interface Statement</span></p> <p style="padding-left:80px;"><span>3.10.9 Function Statement</span></p> <p style="padding-left:80px;"><span>3.10.10 Sub Statement</span></p> <p style="padding-left:80px;"><span>3.10.11 Property Statement</span></p> <p style="padding-left:80px;"><span>3.10.12 Operator Statement</span></p> <p style="padding-left:80px;"><span>3.10.13 Event Statement</span></p> <p style="padding-left:80px;"><span>3.10.14 Delegate Statement</span></p> <p style="padding-left:40px;"><b><span>3.11 Control Flow</span></b></p> <p style="padding-left:80px;"><span>3.11.1 Decision Structures</span></p> <p style="padding-left:80px;"><span>3.11.2 Loop Structures</span></p> <p style="padding-left:80px;"><span>3.11.3 Other Control Structures</span></p> <p style="padding-left:40px;"><b><span>3.12 Error Handling</span></b></p> <p style="padding-left:80px;"><span>3.12.1 Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.2 On Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.3 GoTo Statement</span></p> <p style="padding-left:40px;"><b><span>3.13 Statements</span></b></p> <p style="padding-left:80px;"><span>3.13.1 Call Statement</span></p> <p style="padding-left:80px;"><span>3.13.2 SyncLock Statement</span></p> <p style="padding-left:80px;"><span>3.13.3 Exit Statement</span></p> <p style="padding-left:80px;"><span>3.13.4 Stop Statement</span></p> <p style="padding-left:80px;"><span>3.13.5 End Statement</span></p> <p style="padding-left:80px;"><span>3.13.6 End &lt;keyword&gt; Statement</span></p> <p style="padding-left:80px;"><span>3.13.7 Resume Statement</span></p> <p style="padding-left:40px;"><b><span>3.14 XML Tags for Documentation Comments</span></b></p> <p style="padding-left:80px;"><span>3.14.1 &lt;c&gt;</span></p> <p style="padding-left:80px;"><span>3.14.2 &lt;code&gt;</span></p> <p style="padding-left:80px;"><span>3.14.3 &lt;example&gt;</span></p> <p style="padding-left:80px;"><span>3.14.4 &lt;exception&gt;</span></p> <p style="padding-left:80px;"><span>3.14.5 &lt;include&gt;</span></p> <p style="padding-left:80px;"><span>3.14.6 &lt;list&gt;</span></p> <p style="padding-left:80px;"><span>3.14.7 &lt;para&gt;</span></p> <p style="padding-left:80px;"><span>3.14.8 &lt;param&gt;</span></p> <p style="padding-left:80px;"><span>3.14.9 &lt;paramref&gt;</span></p> <p style="padding-left:80px;"><span>3.14.10 &lt;permission&gt;</span></p> <p style="padding-left:80px;"><span>3.14.11 &lt;remarks&gt;</span></p> <p style="padding-left:80px;"><span>3.14.12 &lt;returns&gt;</span></p> <p style="padding-left:80px;"><span>3.14.13 &lt;see&gt;</span></p> <p style="padding-left:80px;"><span>3.14.14 &lt;seealso&gt;</span></p> <p style="padding-left:80px;"><span>3.14.15 &lt;summary&gt;</span></p> <p style="padding-left:80px;"><span>3.14.16 &lt;typeparam&gt;</span></p> <p style="padding-left:80px;"><span>3.14.17 &lt;value&gt;</span></p> <p style="padding-left:40px;"><b><span>3.15 XML</span></b></p> <p style="padding-left:80px;"><span>3.15.1 Literals</span></p> <p style="padding-left:80px;"><span>3.15.2 Axis Properties</span></p> <p style="padding-left:40px;"><b><span>3.16 Walkthroughs</span></b></p> <p><b><a href="https://www.upload.ee/files/13362803/Visual_Basic_Guide_By_FariD_P_2018.docx.html" target="_blank" title="Download Link" rel="noopener external noreferrer">Click to Download</a></b></p>]]></content:encoded>[/allow-dzen]
</item>[/fullrss]
[yandexrss]<item turbo="{allow-turbo}">
<title>A Visual Basic Guide</title>
<link>https://farid.partonia.ir/index.php?newsid=4</link>
<description><p>It was 2018 that I decided to abandon using Visual-Basic.Net to migrate and use C#, because Microsoft announced tons of new features for this programming language resulting a fast growing community. I decided to release this tutorial which is compiled in 2018.</p> <p>It is a thorough document that covers most of the capabilities from beginner to advanced including practical examples.</p> <p>To see the table of contents and download the book, please view the full article.</p></description>
<category>.NET</category>
<pubDate>Tue, 03 Aug 2021 14:21:43 +0430</pubDate>
<yandex:full-text><h1><span>Table of Contents:</span></h1> <h4><b>Compilation And Execution Of .Net</b></h4> <h4><b><span>Database Access Types</span></b></h4> <h4><b><span>1.Programming Concepts</span></b></h4> <p style="padding-left:40px;"><b><span>1.1 Assemblies</span></b></p> <p style="padding-left:80px;"><span>1.1.1 Assembly Contents</span></p> <p style="padding-left:80px;"><span>1.1.2 Metadata and Self-Describing Components</span></p> <p style="padding-left:80px;"><span>1.1.3 Friend Assemblies</span></p> <p style="padding-left:80px;"><span>1.1.4 Global Assembly Cache</span></p> <p style="padding-left:40px;"><b><span>1.2 Asynchronous Programming with Async and Await</span></b></p> <p style="padding-left:40px;"><b><span>1.3 Attributes</span></b></p> <p style="padding-left:80px;"><span>1.3.1 Attribute Modifier</span></p> <p style="padding-left:80px;"><span>1.3.2 Serializable</span></p> <p style="padding-left:80px;"><span>1.3.3 DllImportAttribute</span></p> <p style="padding-left:80px;"><span>1.3.4 MarshalAsAttribute</span></p> <p style="padding-left:80px;"><span>1.3.5 Assembly Identity Attributes</span></p> <p style="padding-left:80px;"><span>1.3.6 Informational Attributes</span></p> <p style="padding-left:80px;"><span>1.3.7 Assembly Manifest Attributes</span></p> <p style="padding-left:80px;"><span>1.3.8 Strong Name Attributes</span></p> <p style="padding-left:80px;"><span>1.3.9 Obsolete</span></p> <p style="padding-left:80px;"><span>1.3.10 Conditional</span></p> <p style="padding-left:80px;"><span>1.3.11 Using Multiple Identifiers</span></p> <p style="padding-left:80px;"><span>1.3.12 Documentation</span></p> <p style="padding-left:80px;"><span>1.3.13 Caller Info</span></p> <p style="padding-left:80px;"><span>1.3.14 Visual Basic</span></p> <p style="padding-left:80px;"><span>1.3.15 Extension</span></p> <p style="padding-left:40px;"><b><span>1.4 Reflection</span></b></p> <p style="padding-left:40px;"><b><span>1.5 Dynamic Language Runtime (DLR) And Expresstion Trees</span></b></p> <p style="padding-left:40px;"><b><span>1.6 Language Integrated Query (LINQ)</span></b></p> <p style="padding-left:80px;"><span>1.6.1 Queries</span></p> <p style="padding-left:80px;"><span>1.6.2 Lambda Expressions</span></p> <p style="padding-left:40px;"><b><span>1.7 Object-Oriented Programming</span></b></p> <p style="padding-left:80px;"><span>1.7.1 Classes and objects</span></p> <p style="padding-left:80px;"><span>1.7.2 Scope</span></p> <p style="padding-left:80px;"><span>1.7.3 Access Levels</span></p> <p style="padding-left:80px;"><span>1.7.4 Class members</span></p> <p style="padding-left:80px;"><span>1.7.5 Shared Classes and Members</span></p> <p style="padding-left:80px;"><span>1.7.6 Partial</span></p> <p style="padding-left:80px;"><span>1.7.7 Anonymous types</span></p> <p style="padding-left:80px;"><span>1.7.8 Inheritance</span></p> <p style="padding-left:80px;"><span>1.7.9 Overriding</span></p> <p style="padding-left:80px;"><span>1.7.10 Overloading</span></p> <p style="padding-left:80px;"><span>1.7.11 Interfaces</span></p> <p style="padding-left:80px;"><span>1.7.12 Generics</span></p> <p style="padding-left:80px;"><span>1.7.13 Delegates</span></p> <p style="padding-left:80px;"><span>1.7.14 Predicate(Of T) Delegate</span></p> <p style="padding-left:80px;"><span>1.7.15 Serialization</span></p> <p style="padding-left:40px;"><b><span>1.8 Threading</span></b></p> <h4><span>2.Program Structure and Code</span></h4> <p style="padding-left:40px;"><b><span>2.1 Error Types</span></b></p> <p style="padding-left:80px;"><span>2.1.1 Syntax Errors</span></p> <p style="padding-left:80px;"><span>2.1.2 Run-Time Errors</span></p> <p style="padding-left:80px;"><span>2.1.3 Logic Errors</span></p> <p style="padding-left:40px;"><b><span>2.2 File-Level Programming Elements</span></b></p> <p style="padding-left:80px;"><span>2.2.1 Option statements</span></p> <p style="padding-left:80px;"><span>2.2.2 Imports Statement</span></p> <p style="padding-left:80px;"><span>2.2.3 Namespace statements</span></p> <p style="padding-left:40px;"><b><span>2.3 Early and Late Binding</span></b></p> <p style="padding-left:40px;"><b><span>2.4 Implicit Line Continuation</span></b></p> <p style="padding-left:40px;"><b><span>2.5 Disposing external resources with Garbage Collector</span></b></p> <p style="padding-left:40px;"><b><span>2.6 Component vs. Control</span></b></p> <p style="padding-left:40px;"><b><span>2.7 Naming Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.8 Layout Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.9 Commenting Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.10 Language Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.11 Secure Coding Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.12 Commenting Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.13 Me, My, MyBase, and MyClass</span></b></p> <p style="padding-left:80px;"><span>2.13.1 Me</span></p> <p style="padding-left:80px;"><span>2.13.2 My</span></p> <p style="padding-left:80px;"><span>2.13.3 MyBase</span></p> <p style="padding-left:80px;"><span>2.13.4 MyClass</span></p> <h4><span>3.Language Reference</span></h4> <p style="padding-left:40px;"><b><span>3.1 Runtime Library Members</span></b></p> <p style="padding-left:80px;"><span>3.1.1 Runtime Classes</span></p> <p style="padding-left:80px;"><span>3.1.2 Runtime Enums</span></p> <p style="padding-left:40px;"><b><span>3.2 COM Interop</span></b></p> <p style="padding-left:80px;"><span>3.2.1 Reference COM Objects</span></p> <p style="padding-left:80px;"><span>3.2.2 Work with ActiveX Controls</span></p> <p style="padding-left:80px;"><span>3.2.3 API Calls Using Declare</span></p> <p style="padding-left:80px;"><span>3.2.4 API Calls Using DllImport</span></p> <p style="padding-left:40px;"><b><span>3.3 Directives</span></b></p> <p style="padding-left:80px;"><span>3.3.1 #Const</span></p> <p style="padding-left:80px;"><span>3.3.2 #ExternalSource</span></p> <p style="padding-left:80px;"><span>3.3.3 #If...Then...#Else</span></p> <p style="padding-left:80px;"><span>3.3.4 #Region</span></p> <p style="padding-left:80px;"><span>3.3.5 #Disable, #Enable</span></p> <p style="padding-left:40px;"><b><span>3.4 Data Types</span></b></p> <p style="padding-left:80px;"><span>3.4.1 Types</span></p> <p style="padding-left:80px;"><span>3.4.2 Arrays</span></p> <p style="padding-left:80px;"><span>3.4.3 Erase Statement</span></p> <p style="padding-left:80px;"><span>3.4.4 Collections</span></p> <p style="padding-left:80px;"><span>3.4.5 Tuples</span></p> <p style="padding-left:80px;"><span>3.4.6 Type characters</span></p> <p style="padding-left:40px;"><b><span>3.5 Type Conversion</span></b></p> <p style="padding-left:80px;"><span>3.5.1 Widening and Narrowing Conversions</span></p> <p style="padding-left:80px;"><span>3.5.2 Implicit and Explicit Conversions</span></p> <p style="padding-left:80px;"><span>3.5.3 CType</span></p> <p style="padding-left:80px;"><span>3.5.4 Type.Parse</span></p> <p style="padding-left:80px;"><span>3.5.5 System.Convert</span></p> <p style="padding-left:40px;"><b><span>3.6 String Functions</span></b></p> <p style="padding-left:40px;"><b><span>3.7 Math</span></b></p> <p style="padding-left:80px;"><span>3.7.1 Math Functions</span></p> <p style="padding-left:80px;"><span>3.7.2 Help</span></p> <p style="padding-left:40px;"><b><span>3.8 Operators</span></b></p> <p style="padding-left:80px;"><span>3.8.1 Operator Precedence in Visual Basic</span></p> <p style="padding-left:80px;"><span>3.8.2 Arithmetic Operators</span></p> <p style="padding-left:80px;"><span>3.8.3 Assignment Operators</span></p> <p style="padding-left:80px;"><span>3.8.4 Comparison Operators</span></p> <p style="padding-left:80px;"><span>3.8.5 Logical/Bitwise Operators</span></p> <p style="padding-left:80px;"><span>3.8.6 Concatenation Operators</span></p> <p style="padding-left:80px;"><span>3.8.7 Bit Shift Operators</span></p> <p style="padding-left:80px;"><span>3.8.8 Miscellaneous Operators</span></p> <p style="padding-left:80px;"><span>3.8.9 DirectCast Operator</span></p> <p style="padding-left:80px;"><span>3.8.10 TryCast Operator</span></p> <p style="padding-left:40px;"><b><span>3.9 Parameter List And Arguments</span></b></p> <p style="padding-left:80px;"><span>3.9.1 Passing Arguments</span></p> <p style="padding-left:40px;"><b><span>3.10 Declaring Elements</span></b></p> <p style="padding-left:80px;"><span>3.10.1 Declare Statement</span></p> <p style="padding-left:80px;"><span>3.10.2 Dim Statement</span></p> <p style="padding-left:80px;"><span>3.10.3 Const Statement</span></p> <p style="padding-left:80px;"><span>3.10.4 Enum Statement</span></p> <p style="padding-left:80px;"><span>3.10.5 Class Statement</span></p> <p style="padding-left:80px;"><span>3.10.6 Structure Statement</span></p> <p style="padding-left:80px;"><span>3.10.7 Module Statement</span></p> <p style="padding-left:80px;"><span>3.10.8 Interface Statement</span></p> <p style="padding-left:80px;"><span>3.10.9 Function Statement</span></p> <p style="padding-left:80px;"><span>3.10.10 Sub Statement</span></p> <p style="padding-left:80px;"><span>3.10.11 Property Statement</span></p> <p style="padding-left:80px;"><span>3.10.12 Operator Statement</span></p> <p style="padding-left:80px;"><span>3.10.13 Event Statement</span></p> <p style="padding-left:80px;"><span>3.10.14 Delegate Statement</span></p> <p style="padding-left:40px;"><b><span>3.11 Control Flow</span></b></p> <p style="padding-left:80px;"><span>3.11.1 Decision Structures</span></p> <p style="padding-left:80px;"><span>3.11.2 Loop Structures</span></p> <p style="padding-left:80px;"><span>3.11.3 Other Control Structures</span></p> <p style="padding-left:40px;"><b><span>3.12 Error Handling</span></b></p> <p style="padding-left:80px;"><span>3.12.1 Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.2 On Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.3 GoTo Statement</span></p> <p style="padding-left:40px;"><b><span>3.13 Statements</span></b></p> <p style="padding-left:80px;"><span>3.13.1 Call Statement</span></p> <p style="padding-left:80px;"><span>3.13.2 SyncLock Statement</span></p> <p style="padding-left:80px;"><span>3.13.3 Exit Statement</span></p> <p style="padding-left:80px;"><span>3.13.4 Stop Statement</span></p> <p style="padding-left:80px;"><span>3.13.5 End Statement</span></p> <p style="padding-left:80px;"><span>3.13.6 End &lt;keyword&gt; Statement</span></p> <p style="padding-left:80px;"><span>3.13.7 Resume Statement</span></p> <p style="padding-left:40px;"><b><span>3.14 XML Tags for Documentation Comments</span></b></p> <p style="padding-left:80px;"><span>3.14.1 &lt;c&gt;</span></p> <p style="padding-left:80px;"><span>3.14.2 &lt;code&gt;</span></p> <p style="padding-left:80px;"><span>3.14.3 &lt;example&gt;</span></p> <p style="padding-left:80px;"><span>3.14.4 &lt;exception&gt;</span></p> <p style="padding-left:80px;"><span>3.14.5 &lt;include&gt;</span></p> <p style="padding-left:80px;"><span>3.14.6 &lt;list&gt;</span></p> <p style="padding-left:80px;"><span>3.14.7 &lt;para&gt;</span></p> <p style="padding-left:80px;"><span>3.14.8 &lt;param&gt;</span></p> <p style="padding-left:80px;"><span>3.14.9 &lt;paramref&gt;</span></p> <p style="padding-left:80px;"><span>3.14.10 &lt;permission&gt;</span></p> <p style="padding-left:80px;"><span>3.14.11 &lt;remarks&gt;</span></p> <p style="padding-left:80px;"><span>3.14.12 &lt;returns&gt;</span></p> <p style="padding-left:80px;"><span>3.14.13 &lt;see&gt;</span></p> <p style="padding-left:80px;"><span>3.14.14 &lt;seealso&gt;</span></p> <p style="padding-left:80px;"><span>3.14.15 &lt;summary&gt;</span></p> <p style="padding-left:80px;"><span>3.14.16 &lt;typeparam&gt;</span></p> <p style="padding-left:80px;"><span>3.14.17 &lt;value&gt;</span></p> <p style="padding-left:40px;"><b><span>3.15 XML</span></b></p> <p style="padding-left:80px;"><span>3.15.1 Literals</span></p> <p style="padding-left:80px;"><span>3.15.2 Axis Properties</span></p> <p style="padding-left:40px;"><b><span>3.16 Walkthroughs</span></b></p> <p><b><a href="https://www.upload.ee/files/13362803/Visual_Basic_Guide_By_FariD_P_2018.docx.html" target="_blank" title="Download Link" rel="noopener external noreferrer">Click to Download</a></b></p></yandex:full-text>
[allow-turbo]<turbo:content><![CDATA[<h1><span>Table of Contents:</span></h1> <h4><b>Compilation And Execution Of .Net</b></h4> <h4><b><span>Database Access Types</span></b></h4> <h4><b><span>1.Programming Concepts</span></b></h4> <p style="padding-left:40px;"><b><span>1.1 Assemblies</span></b></p> <p style="padding-left:80px;"><span>1.1.1 Assembly Contents</span></p> <p style="padding-left:80px;"><span>1.1.2 Metadata and Self-Describing Components</span></p> <p style="padding-left:80px;"><span>1.1.3 Friend Assemblies</span></p> <p style="padding-left:80px;"><span>1.1.4 Global Assembly Cache</span></p> <p style="padding-left:40px;"><b><span>1.2 Asynchronous Programming with Async and Await</span></b></p> <p style="padding-left:40px;"><b><span>1.3 Attributes</span></b></p> <p style="padding-left:80px;"><span>1.3.1 Attribute Modifier</span></p> <p style="padding-left:80px;"><span>1.3.2 Serializable</span></p> <p style="padding-left:80px;"><span>1.3.3 DllImportAttribute</span></p> <p style="padding-left:80px;"><span>1.3.4 MarshalAsAttribute</span></p> <p style="padding-left:80px;"><span>1.3.5 Assembly Identity Attributes</span></p> <p style="padding-left:80px;"><span>1.3.6 Informational Attributes</span></p> <p style="padding-left:80px;"><span>1.3.7 Assembly Manifest Attributes</span></p> <p style="padding-left:80px;"><span>1.3.8 Strong Name Attributes</span></p> <p style="padding-left:80px;"><span>1.3.9 Obsolete</span></p> <p style="padding-left:80px;"><span>1.3.10 Conditional</span></p> <p style="padding-left:80px;"><span>1.3.11 Using Multiple Identifiers</span></p> <p style="padding-left:80px;"><span>1.3.12 Documentation</span></p> <p style="padding-left:80px;"><span>1.3.13 Caller Info</span></p> <p style="padding-left:80px;"><span>1.3.14 Visual Basic</span></p> <p style="padding-left:80px;"><span>1.3.15 Extension</span></p> <p style="padding-left:40px;"><b><span>1.4 Reflection</span></b></p> <p style="padding-left:40px;"><b><span>1.5 Dynamic Language Runtime (DLR) And Expresstion Trees</span></b></p> <p style="padding-left:40px;"><b><span>1.6 Language Integrated Query (LINQ)</span></b></p> <p style="padding-left:80px;"><span>1.6.1 Queries</span></p> <p style="padding-left:80px;"><span>1.6.2 Lambda Expressions</span></p> <p style="padding-left:40px;"><b><span>1.7 Object-Oriented Programming</span></b></p> <p style="padding-left:80px;"><span>1.7.1 Classes and objects</span></p> <p style="padding-left:80px;"><span>1.7.2 Scope</span></p> <p style="padding-left:80px;"><span>1.7.3 Access Levels</span></p> <p style="padding-left:80px;"><span>1.7.4 Class members</span></p> <p style="padding-left:80px;"><span>1.7.5 Shared Classes and Members</span></p> <p style="padding-left:80px;"><span>1.7.6 Partial</span></p> <p style="padding-left:80px;"><span>1.7.7 Anonymous types</span></p> <p style="padding-left:80px;"><span>1.7.8 Inheritance</span></p> <p style="padding-left:80px;"><span>1.7.9 Overriding</span></p> <p style="padding-left:80px;"><span>1.7.10 Overloading</span></p> <p style="padding-left:80px;"><span>1.7.11 Interfaces</span></p> <p style="padding-left:80px;"><span>1.7.12 Generics</span></p> <p style="padding-left:80px;"><span>1.7.13 Delegates</span></p> <p style="padding-left:80px;"><span>1.7.14 Predicate(Of T) Delegate</span></p> <p style="padding-left:80px;"><span>1.7.15 Serialization</span></p> <p style="padding-left:40px;"><b><span>1.8 Threading</span></b></p> <h4><span>2.Program Structure and Code</span></h4> <p style="padding-left:40px;"><b><span>2.1 Error Types</span></b></p> <p style="padding-left:80px;"><span>2.1.1 Syntax Errors</span></p> <p style="padding-left:80px;"><span>2.1.2 Run-Time Errors</span></p> <p style="padding-left:80px;"><span>2.1.3 Logic Errors</span></p> <p style="padding-left:40px;"><b><span>2.2 File-Level Programming Elements</span></b></p> <p style="padding-left:80px;"><span>2.2.1 Option statements</span></p> <p style="padding-left:80px;"><span>2.2.2 Imports Statement</span></p> <p style="padding-left:80px;"><span>2.2.3 Namespace statements</span></p> <p style="padding-left:40px;"><b><span>2.3 Early and Late Binding</span></b></p> <p style="padding-left:40px;"><b><span>2.4 Implicit Line Continuation</span></b></p> <p style="padding-left:40px;"><b><span>2.5 Disposing external resources with Garbage Collector</span></b></p> <p style="padding-left:40px;"><b><span>2.6 Component vs. Control</span></b></p> <p style="padding-left:40px;"><b><span>2.7 Naming Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.8 Layout Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.9 Commenting Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.10 Language Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.11 Secure Coding Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.12 Commenting Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.13 Me, My, MyBase, and MyClass</span></b></p> <p style="padding-left:80px;"><span>2.13.1 Me</span></p> <p style="padding-left:80px;"><span>2.13.2 My</span></p> <p style="padding-left:80px;"><span>2.13.3 MyBase</span></p> <p style="padding-left:80px;"><span>2.13.4 MyClass</span></p> <h4><span>3.Language Reference</span></h4> <p style="padding-left:40px;"><b><span>3.1 Runtime Library Members</span></b></p> <p style="padding-left:80px;"><span>3.1.1 Runtime Classes</span></p> <p style="padding-left:80px;"><span>3.1.2 Runtime Enums</span></p> <p style="padding-left:40px;"><b><span>3.2 COM Interop</span></b></p> <p style="padding-left:80px;"><span>3.2.1 Reference COM Objects</span></p> <p style="padding-left:80px;"><span>3.2.2 Work with ActiveX Controls</span></p> <p style="padding-left:80px;"><span>3.2.3 API Calls Using Declare</span></p> <p style="padding-left:80px;"><span>3.2.4 API Calls Using DllImport</span></p> <p style="padding-left:40px;"><b><span>3.3 Directives</span></b></p> <p style="padding-left:80px;"><span>3.3.1 #Const</span></p> <p style="padding-left:80px;"><span>3.3.2 #ExternalSource</span></p> <p style="padding-left:80px;"><span>3.3.3 #If...Then...#Else</span></p> <p style="padding-left:80px;"><span>3.3.4 #Region</span></p> <p style="padding-left:80px;"><span>3.3.5 #Disable, #Enable</span></p> <p style="padding-left:40px;"><b><span>3.4 Data Types</span></b></p> <p style="padding-left:80px;"><span>3.4.1 Types</span></p> <p style="padding-left:80px;"><span>3.4.2 Arrays</span></p> <p style="padding-left:80px;"><span>3.4.3 Erase Statement</span></p> <p style="padding-left:80px;"><span>3.4.4 Collections</span></p> <p style="padding-left:80px;"><span>3.4.5 Tuples</span></p> <p style="padding-left:80px;"><span>3.4.6 Type characters</span></p> <p style="padding-left:40px;"><b><span>3.5 Type Conversion</span></b></p> <p style="padding-left:80px;"><span>3.5.1 Widening and Narrowing Conversions</span></p> <p style="padding-left:80px;"><span>3.5.2 Implicit and Explicit Conversions</span></p> <p style="padding-left:80px;"><span>3.5.3 CType</span></p> <p style="padding-left:80px;"><span>3.5.4 Type.Parse</span></p> <p style="padding-left:80px;"><span>3.5.5 System.Convert</span></p> <p style="padding-left:40px;"><b><span>3.6 String Functions</span></b></p> <p style="padding-left:40px;"><b><span>3.7 Math</span></b></p> <p style="padding-left:80px;"><span>3.7.1 Math Functions</span></p> <p style="padding-left:80px;"><span>3.7.2 Help</span></p> <p style="padding-left:40px;"><b><span>3.8 Operators</span></b></p> <p style="padding-left:80px;"><span>3.8.1 Operator Precedence in Visual Basic</span></p> <p style="padding-left:80px;"><span>3.8.2 Arithmetic Operators</span></p> <p style="padding-left:80px;"><span>3.8.3 Assignment Operators</span></p> <p style="padding-left:80px;"><span>3.8.4 Comparison Operators</span></p> <p style="padding-left:80px;"><span>3.8.5 Logical/Bitwise Operators</span></p> <p style="padding-left:80px;"><span>3.8.6 Concatenation Operators</span></p> <p style="padding-left:80px;"><span>3.8.7 Bit Shift Operators</span></p> <p style="padding-left:80px;"><span>3.8.8 Miscellaneous Operators</span></p> <p style="padding-left:80px;"><span>3.8.9 DirectCast Operator</span></p> <p style="padding-left:80px;"><span>3.8.10 TryCast Operator</span></p> <p style="padding-left:40px;"><b><span>3.9 Parameter List And Arguments</span></b></p> <p style="padding-left:80px;"><span>3.9.1 Passing Arguments</span></p> <p style="padding-left:40px;"><b><span>3.10 Declaring Elements</span></b></p> <p style="padding-left:80px;"><span>3.10.1 Declare Statement</span></p> <p style="padding-left:80px;"><span>3.10.2 Dim Statement</span></p> <p style="padding-left:80px;"><span>3.10.3 Const Statement</span></p> <p style="padding-left:80px;"><span>3.10.4 Enum Statement</span></p> <p style="padding-left:80px;"><span>3.10.5 Class Statement</span></p> <p style="padding-left:80px;"><span>3.10.6 Structure Statement</span></p> <p style="padding-left:80px;"><span>3.10.7 Module Statement</span></p> <p style="padding-left:80px;"><span>3.10.8 Interface Statement</span></p> <p style="padding-left:80px;"><span>3.10.9 Function Statement</span></p> <p style="padding-left:80px;"><span>3.10.10 Sub Statement</span></p> <p style="padding-left:80px;"><span>3.10.11 Property Statement</span></p> <p style="padding-left:80px;"><span>3.10.12 Operator Statement</span></p> <p style="padding-left:80px;"><span>3.10.13 Event Statement</span></p> <p style="padding-left:80px;"><span>3.10.14 Delegate Statement</span></p> <p style="padding-left:40px;"><b><span>3.11 Control Flow</span></b></p> <p style="padding-left:80px;"><span>3.11.1 Decision Structures</span></p> <p style="padding-left:80px;"><span>3.11.2 Loop Structures</span></p> <p style="padding-left:80px;"><span>3.11.3 Other Control Structures</span></p> <p style="padding-left:40px;"><b><span>3.12 Error Handling</span></b></p> <p style="padding-left:80px;"><span>3.12.1 Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.2 On Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.3 GoTo Statement</span></p> <p style="padding-left:40px;"><b><span>3.13 Statements</span></b></p> <p style="padding-left:80px;"><span>3.13.1 Call Statement</span></p> <p style="padding-left:80px;"><span>3.13.2 SyncLock Statement</span></p> <p style="padding-left:80px;"><span>3.13.3 Exit Statement</span></p> <p style="padding-left:80px;"><span>3.13.4 Stop Statement</span></p> <p style="padding-left:80px;"><span>3.13.5 End Statement</span></p> <p style="padding-left:80px;"><span>3.13.6 End &lt;keyword&gt; Statement</span></p> <p style="padding-left:80px;"><span>3.13.7 Resume Statement</span></p> <p style="padding-left:40px;"><b><span>3.14 XML Tags for Documentation Comments</span></b></p> <p style="padding-left:80px;"><span>3.14.1 &lt;c&gt;</span></p> <p style="padding-left:80px;"><span>3.14.2 &lt;code&gt;</span></p> <p style="padding-left:80px;"><span>3.14.3 &lt;example&gt;</span></p> <p style="padding-left:80px;"><span>3.14.4 &lt;exception&gt;</span></p> <p style="padding-left:80px;"><span>3.14.5 &lt;include&gt;</span></p> <p style="padding-left:80px;"><span>3.14.6 &lt;list&gt;</span></p> <p style="padding-left:80px;"><span>3.14.7 &lt;para&gt;</span></p> <p style="padding-left:80px;"><span>3.14.8 &lt;param&gt;</span></p> <p style="padding-left:80px;"><span>3.14.9 &lt;paramref&gt;</span></p> <p style="padding-left:80px;"><span>3.14.10 &lt;permission&gt;</span></p> <p style="padding-left:80px;"><span>3.14.11 &lt;remarks&gt;</span></p> <p style="padding-left:80px;"><span>3.14.12 &lt;returns&gt;</span></p> <p style="padding-left:80px;"><span>3.14.13 &lt;see&gt;</span></p> <p style="padding-left:80px;"><span>3.14.14 &lt;seealso&gt;</span></p> <p style="padding-left:80px;"><span>3.14.15 &lt;summary&gt;</span></p> <p style="padding-left:80px;"><span>3.14.16 &lt;typeparam&gt;</span></p> <p style="padding-left:80px;"><span>3.14.17 &lt;value&gt;</span></p> <p style="padding-left:40px;"><b><span>3.15 XML</span></b></p> <p style="padding-left:80px;"><span>3.15.1 Literals</span></p> <p style="padding-left:80px;"><span>3.15.2 Axis Properties</span></p> <p style="padding-left:40px;"><b><span>3.16 Walkthroughs</span></b></p> <p><b><a href="https://www.upload.ee/files/13362803/Visual_Basic_Guide_By_FariD_P_2018.docx.html" target="_blank" title="Download Link" rel="noopener external noreferrer">Click to Download</a></b></p>]]></turbo:content>[/allow-turbo]
[allow-dzen]<content:encoded><![CDATA[<h1><span>Table of Contents:</span></h1> <h4><b>Compilation And Execution Of .Net</b></h4> <h4><b><span>Database Access Types</span></b></h4> <h4><b><span>1.Programming Concepts</span></b></h4> <p style="padding-left:40px;"><b><span>1.1 Assemblies</span></b></p> <p style="padding-left:80px;"><span>1.1.1 Assembly Contents</span></p> <p style="padding-left:80px;"><span>1.1.2 Metadata and Self-Describing Components</span></p> <p style="padding-left:80px;"><span>1.1.3 Friend Assemblies</span></p> <p style="padding-left:80px;"><span>1.1.4 Global Assembly Cache</span></p> <p style="padding-left:40px;"><b><span>1.2 Asynchronous Programming with Async and Await</span></b></p> <p style="padding-left:40px;"><b><span>1.3 Attributes</span></b></p> <p style="padding-left:80px;"><span>1.3.1 Attribute Modifier</span></p> <p style="padding-left:80px;"><span>1.3.2 Serializable</span></p> <p style="padding-left:80px;"><span>1.3.3 DllImportAttribute</span></p> <p style="padding-left:80px;"><span>1.3.4 MarshalAsAttribute</span></p> <p style="padding-left:80px;"><span>1.3.5 Assembly Identity Attributes</span></p> <p style="padding-left:80px;"><span>1.3.6 Informational Attributes</span></p> <p style="padding-left:80px;"><span>1.3.7 Assembly Manifest Attributes</span></p> <p style="padding-left:80px;"><span>1.3.8 Strong Name Attributes</span></p> <p style="padding-left:80px;"><span>1.3.9 Obsolete</span></p> <p style="padding-left:80px;"><span>1.3.10 Conditional</span></p> <p style="padding-left:80px;"><span>1.3.11 Using Multiple Identifiers</span></p> <p style="padding-left:80px;"><span>1.3.12 Documentation</span></p> <p style="padding-left:80px;"><span>1.3.13 Caller Info</span></p> <p style="padding-left:80px;"><span>1.3.14 Visual Basic</span></p> <p style="padding-left:80px;"><span>1.3.15 Extension</span></p> <p style="padding-left:40px;"><b><span>1.4 Reflection</span></b></p> <p style="padding-left:40px;"><b><span>1.5 Dynamic Language Runtime (DLR) And Expresstion Trees</span></b></p> <p style="padding-left:40px;"><b><span>1.6 Language Integrated Query (LINQ)</span></b></p> <p style="padding-left:80px;"><span>1.6.1 Queries</span></p> <p style="padding-left:80px;"><span>1.6.2 Lambda Expressions</span></p> <p style="padding-left:40px;"><b><span>1.7 Object-Oriented Programming</span></b></p> <p style="padding-left:80px;"><span>1.7.1 Classes and objects</span></p> <p style="padding-left:80px;"><span>1.7.2 Scope</span></p> <p style="padding-left:80px;"><span>1.7.3 Access Levels</span></p> <p style="padding-left:80px;"><span>1.7.4 Class members</span></p> <p style="padding-left:80px;"><span>1.7.5 Shared Classes and Members</span></p> <p style="padding-left:80px;"><span>1.7.6 Partial</span></p> <p style="padding-left:80px;"><span>1.7.7 Anonymous types</span></p> <p style="padding-left:80px;"><span>1.7.8 Inheritance</span></p> <p style="padding-left:80px;"><span>1.7.9 Overriding</span></p> <p style="padding-left:80px;"><span>1.7.10 Overloading</span></p> <p style="padding-left:80px;"><span>1.7.11 Interfaces</span></p> <p style="padding-left:80px;"><span>1.7.12 Generics</span></p> <p style="padding-left:80px;"><span>1.7.13 Delegates</span></p> <p style="padding-left:80px;"><span>1.7.14 Predicate(Of T) Delegate</span></p> <p style="padding-left:80px;"><span>1.7.15 Serialization</span></p> <p style="padding-left:40px;"><b><span>1.8 Threading</span></b></p> <h4><span>2.Program Structure and Code</span></h4> <p style="padding-left:40px;"><b><span>2.1 Error Types</span></b></p> <p style="padding-left:80px;"><span>2.1.1 Syntax Errors</span></p> <p style="padding-left:80px;"><span>2.1.2 Run-Time Errors</span></p> <p style="padding-left:80px;"><span>2.1.3 Logic Errors</span></p> <p style="padding-left:40px;"><b><span>2.2 File-Level Programming Elements</span></b></p> <p style="padding-left:80px;"><span>2.2.1 Option statements</span></p> <p style="padding-left:80px;"><span>2.2.2 Imports Statement</span></p> <p style="padding-left:80px;"><span>2.2.3 Namespace statements</span></p> <p style="padding-left:40px;"><b><span>2.3 Early and Late Binding</span></b></p> <p style="padding-left:40px;"><b><span>2.4 Implicit Line Continuation</span></b></p> <p style="padding-left:40px;"><b><span>2.5 Disposing external resources with Garbage Collector</span></b></p> <p style="padding-left:40px;"><b><span>2.6 Component vs. Control</span></b></p> <p style="padding-left:40px;"><b><span>2.7 Naming Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.8 Layout Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.9 Commenting Conventions</span></b></p> <p style="padding-left:40px;"><b><span>2.10 Language Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.11 Secure Coding Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.12 Commenting Guidelines</span></b></p> <p style="padding-left:40px;"><b><span>2.13 Me, My, MyBase, and MyClass</span></b></p> <p style="padding-left:80px;"><span>2.13.1 Me</span></p> <p style="padding-left:80px;"><span>2.13.2 My</span></p> <p style="padding-left:80px;"><span>2.13.3 MyBase</span></p> <p style="padding-left:80px;"><span>2.13.4 MyClass</span></p> <h4><span>3.Language Reference</span></h4> <p style="padding-left:40px;"><b><span>3.1 Runtime Library Members</span></b></p> <p style="padding-left:80px;"><span>3.1.1 Runtime Classes</span></p> <p style="padding-left:80px;"><span>3.1.2 Runtime Enums</span></p> <p style="padding-left:40px;"><b><span>3.2 COM Interop</span></b></p> <p style="padding-left:80px;"><span>3.2.1 Reference COM Objects</span></p> <p style="padding-left:80px;"><span>3.2.2 Work with ActiveX Controls</span></p> <p style="padding-left:80px;"><span>3.2.3 API Calls Using Declare</span></p> <p style="padding-left:80px;"><span>3.2.4 API Calls Using DllImport</span></p> <p style="padding-left:40px;"><b><span>3.3 Directives</span></b></p> <p style="padding-left:80px;"><span>3.3.1 #Const</span></p> <p style="padding-left:80px;"><span>3.3.2 #ExternalSource</span></p> <p style="padding-left:80px;"><span>3.3.3 #If...Then...#Else</span></p> <p style="padding-left:80px;"><span>3.3.4 #Region</span></p> <p style="padding-left:80px;"><span>3.3.5 #Disable, #Enable</span></p> <p style="padding-left:40px;"><b><span>3.4 Data Types</span></b></p> <p style="padding-left:80px;"><span>3.4.1 Types</span></p> <p style="padding-left:80px;"><span>3.4.2 Arrays</span></p> <p style="padding-left:80px;"><span>3.4.3 Erase Statement</span></p> <p style="padding-left:80px;"><span>3.4.4 Collections</span></p> <p style="padding-left:80px;"><span>3.4.5 Tuples</span></p> <p style="padding-left:80px;"><span>3.4.6 Type characters</span></p> <p style="padding-left:40px;"><b><span>3.5 Type Conversion</span></b></p> <p style="padding-left:80px;"><span>3.5.1 Widening and Narrowing Conversions</span></p> <p style="padding-left:80px;"><span>3.5.2 Implicit and Explicit Conversions</span></p> <p style="padding-left:80px;"><span>3.5.3 CType</span></p> <p style="padding-left:80px;"><span>3.5.4 Type.Parse</span></p> <p style="padding-left:80px;"><span>3.5.5 System.Convert</span></p> <p style="padding-left:40px;"><b><span>3.6 String Functions</span></b></p> <p style="padding-left:40px;"><b><span>3.7 Math</span></b></p> <p style="padding-left:80px;"><span>3.7.1 Math Functions</span></p> <p style="padding-left:80px;"><span>3.7.2 Help</span></p> <p style="padding-left:40px;"><b><span>3.8 Operators</span></b></p> <p style="padding-left:80px;"><span>3.8.1 Operator Precedence in Visual Basic</span></p> <p style="padding-left:80px;"><span>3.8.2 Arithmetic Operators</span></p> <p style="padding-left:80px;"><span>3.8.3 Assignment Operators</span></p> <p style="padding-left:80px;"><span>3.8.4 Comparison Operators</span></p> <p style="padding-left:80px;"><span>3.8.5 Logical/Bitwise Operators</span></p> <p style="padding-left:80px;"><span>3.8.6 Concatenation Operators</span></p> <p style="padding-left:80px;"><span>3.8.7 Bit Shift Operators</span></p> <p style="padding-left:80px;"><span>3.8.8 Miscellaneous Operators</span></p> <p style="padding-left:80px;"><span>3.8.9 DirectCast Operator</span></p> <p style="padding-left:80px;"><span>3.8.10 TryCast Operator</span></p> <p style="padding-left:40px;"><b><span>3.9 Parameter List And Arguments</span></b></p> <p style="padding-left:80px;"><span>3.9.1 Passing Arguments</span></p> <p style="padding-left:40px;"><b><span>3.10 Declaring Elements</span></b></p> <p style="padding-left:80px;"><span>3.10.1 Declare Statement</span></p> <p style="padding-left:80px;"><span>3.10.2 Dim Statement</span></p> <p style="padding-left:80px;"><span>3.10.3 Const Statement</span></p> <p style="padding-left:80px;"><span>3.10.4 Enum Statement</span></p> <p style="padding-left:80px;"><span>3.10.5 Class Statement</span></p> <p style="padding-left:80px;"><span>3.10.6 Structure Statement</span></p> <p style="padding-left:80px;"><span>3.10.7 Module Statement</span></p> <p style="padding-left:80px;"><span>3.10.8 Interface Statement</span></p> <p style="padding-left:80px;"><span>3.10.9 Function Statement</span></p> <p style="padding-left:80px;"><span>3.10.10 Sub Statement</span></p> <p style="padding-left:80px;"><span>3.10.11 Property Statement</span></p> <p style="padding-left:80px;"><span>3.10.12 Operator Statement</span></p> <p style="padding-left:80px;"><span>3.10.13 Event Statement</span></p> <p style="padding-left:80px;"><span>3.10.14 Delegate Statement</span></p> <p style="padding-left:40px;"><b><span>3.11 Control Flow</span></b></p> <p style="padding-left:80px;"><span>3.11.1 Decision Structures</span></p> <p style="padding-left:80px;"><span>3.11.2 Loop Structures</span></p> <p style="padding-left:80px;"><span>3.11.3 Other Control Structures</span></p> <p style="padding-left:40px;"><b><span>3.12 Error Handling</span></b></p> <p style="padding-left:80px;"><span>3.12.1 Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.2 On Error Statement</span></p> <p style="padding-left:80px;"><span>3.12.3 GoTo Statement</span></p> <p style="padding-left:40px;"><b><span>3.13 Statements</span></b></p> <p style="padding-left:80px;"><span>3.13.1 Call Statement</span></p> <p style="padding-left:80px;"><span>3.13.2 SyncLock Statement</span></p> <p style="padding-left:80px;"><span>3.13.3 Exit Statement</span></p> <p style="padding-left:80px;"><span>3.13.4 Stop Statement</span></p> <p style="padding-left:80px;"><span>3.13.5 End Statement</span></p> <p style="padding-left:80px;"><span>3.13.6 End &lt;keyword&gt; Statement</span></p> <p style="padding-left:80px;"><span>3.13.7 Resume Statement</span></p> <p style="padding-left:40px;"><b><span>3.14 XML Tags for Documentation Comments</span></b></p> <p style="padding-left:80px;"><span>3.14.1 &lt;c&gt;</span></p> <p style="padding-left:80px;"><span>3.14.2 &lt;code&gt;</span></p> <p style="padding-left:80px;"><span>3.14.3 &lt;example&gt;</span></p> <p style="padding-left:80px;"><span>3.14.4 &lt;exception&gt;</span></p> <p style="padding-left:80px;"><span>3.14.5 &lt;include&gt;</span></p> <p style="padding-left:80px;"><span>3.14.6 &lt;list&gt;</span></p> <p style="padding-left:80px;"><span>3.14.7 &lt;para&gt;</span></p> <p style="padding-left:80px;"><span>3.14.8 &lt;param&gt;</span></p> <p style="padding-left:80px;"><span>3.14.9 &lt;paramref&gt;</span></p> <p style="padding-left:80px;"><span>3.14.10 &lt;permission&gt;</span></p> <p style="padding-left:80px;"><span>3.14.11 &lt;remarks&gt;</span></p> <p style="padding-left:80px;"><span>3.14.12 &lt;returns&gt;</span></p> <p style="padding-left:80px;"><span>3.14.13 &lt;see&gt;</span></p> <p style="padding-left:80px;"><span>3.14.14 &lt;seealso&gt;</span></p> <p style="padding-left:80px;"><span>3.14.15 &lt;summary&gt;</span></p> <p style="padding-left:80px;"><span>3.14.16 &lt;typeparam&gt;</span></p> <p style="padding-left:80px;"><span>3.14.17 &lt;value&gt;</span></p> <p style="padding-left:40px;"><b><span>3.15 XML</span></b></p> <p style="padding-left:80px;"><span>3.15.1 Literals</span></p> <p style="padding-left:80px;"><span>3.15.2 Axis Properties</span></p> <p style="padding-left:40px;"><b><span>3.16 Walkthroughs</span></b></p> <p><b><a href="https://www.upload.ee/files/13362803/Visual_Basic_Guide_By_FariD_P_2018.docx.html" target="_blank" title="Download Link" rel="noopener external noreferrer">Click to Download</a></b></p>]]></content:encoded>[/allow-dzen]
</item>[/yandexrss]</channel></rss>