自分のブログ名

sheephumanのブログ

ひつじ好きな人間のブログ。

【Udemy講座】C#ドメイン駆動開発 Part1 レビュー

 

Udemy講座で随分前の購入したC#の講座についてレビューを行います。

 

www.udemy.com

 

有料講座ですので内容は買わないと見れません。

個人的な記録を兼ねて、内容などをつらつらと書いていきます。

 

※Udemy講座は不定期に開催されるセールがお得です。高いと10万したりします。

期間中はなぜか大幅な安売りになる。

 

 

PupSQLite(https://www.vector.co.jp/soft/dl/winnt/business/se449564.html)を使用します。

 

ドメイン駆動開発とは

ドメイン駆動開発:プログラムから複雑さを取り除くための開発手法

テスト駆動開発:テストコードを書いて、そのテストを通すためにプログラミングを行う手法

 

 

データベースを作成する

PupSQLiteでデータベースを作成します。

f:id:sheephuman:20200903130519p:plain

 

 

Visual Studio でコード作成

やっと本題に入った感。

 スペルミスが多くて、実行にやたらと時間がかかってしまいました。DataDateとか間違えやすいだろ。

 

書いたコード
public partial class WeatherLatestView : Form
{
  public WeatherLatestView()
{
  InitializeComponent();
}

private readonly string ConnectionString = @"Data Source=C:\Users\shinc\Desktop\pupsqlite_ver_1310600\DDD.db;Version=3;";
//@"Data Source=C:\Temp\Test.db3;Version=3"
private void LatestButton_Click(object sender, EventArgs e)
{
string sql = @"
select DateData,
Condition,
Temperature
from Weather
where AreaID = @AreaID
order by DateData desc
Limit 1
";


DataTable dt = new DataTable();
using (var connection = new SQLiteConnection(ConnectionString))
using (var command = new SQLiteCommand(sql,connection))
{
connection.Open();
command.Parameters.AddWithValue("@AreaID", AreaIDTextBox.Text);
using (var adapter = new SQLiteDataAdapter(command))
{
adapter.Fill(dt);
}

if(dt.Rows.Count > 0)
{
DataDateLabel.Text = dt.Rows[0]["DateData"].ToString();
ConditionLabel.Text = dt.Rows[0]["Condition"].ToString();
TempertureLabel.Text =
Math.Round(Convert.ToSingle(dt.Rows[0]["Temperature"]),2) + "℃";
}
}
}
}

何とか実行までは行けました。

 データベースのAreaIDを参照してます。

f:id:sheephuman:20200903153724p:plain

 

 感想

  煩雑で疲れる・・・