playing with dotnet core 62 - attempt to understand DWSim code, why solid principles are impt
------------------ Useful Links ------------------------------------
Pipe class for dwsim
https://github.com/DanWBR/dwsim/blob/dependabot/npm_and_yarn/DWSIM.UI.Web/ClientApp/async-2.6.4/DWSIM.UnitOperations/UnitOperations/Pipe.vb
Unit Operations class for dwsim
https://github.com/DanWBR/dwsim/blob/windows/DWSIM.UnitOperations/BaseClasses/UnitOperations.vb
Simulation Object Base Classes DWSim
https://github.com/DanWBR/dwsim/blob/windows/DWSIM.SharedClasses/BaseClass/SimulationObjectBaseClasses.vb
Steam table Property Package Class DWSim
https://github.com/DanWBR/dwsim/blob/windows/DWSIM.Thermodynamics/PropertyPackages/SteamTables.vb
PropertyPackage Class DWSim (12000 lines long as of 24 Apr 2022)
https://github.com/DanWBR/dwsim/blob/windows/DWSIM.Thermodynamics/PropertyPackages/PropertyPackage.vb
dotnet standard for compatability with dotnet framework and dotnet core
https://docs.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-2-0
DWSim Math Library
https://github.com/DanWBR/dwsim/tree/windows/DWSIM.Math
SOLID principles for Object Oriented Programming
https://www.digitalocean.com/community/conceptual_articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design#interface-segregation-principle
------------------ Video Sections --------------------------------
Chapters:
0:00 Why targeting dotnet Standard 2.0 is important
6:20 Attempting to dissect the Pipe.vb class
9:06 Attempt to dissect UnitOperations.vb
10:54 UnitOperations Shared class
12:30 investigating the steam tables thermodynamics class
13:00 Investigating PropertyPackage.vb 12000 lines long!!!
15:15 DWSIM math libraries
18:20 SOLID principles if we want to write Object Oriented Code
20:09 Single Responsibility Principle (one class one purpose)
25:00 Dependency Inversion Princples (always use interfaces for loose coupling as far as possible)
29:00 Open Close Principle, my poor understanding of it (don't keep changing a class to extend its functionality)
37:00 rambling more and conclusion
---------------------[Playlists and Relevant Github Repositories]----------------------------------------------
Fluid Mechanics and Git Repos:
https://www.youtube.com/playlist?list=PLhPfNw4V4_YSmdAXc6J0XOSQ1b27qsMGt
https://github.com/theodoreOnzGit/OpenFoam_heatTrf_YouTube
Petroleum Downstream Crash Course Playlist:
https://www.youtube.com/playlist?list=PLhPfNw4V4_YQ13CnhacUqEVk-tZlU4ISE
OpenFOAM for Windows 10 Beginner Playlist and some Git Repos
https://www.youtube.com/playlist?list=PLhPfNw4V4_YRhBU4IqSaToQ8_X543YQsZ
https://github.com/theodoreOnzGit/laminar_BL_OpenFOAM
OpenFOAM Intermediate Playlist and some Git Repos
https://www.youtube.com/playlist?list=PLhPfNw4V4_YSpWX6mSOlwWEOKVa6i_iuE
https://github.com/theodoreOnzGit/thin_pipeflow_snappyHexMesh
OpenFOAM Heat Transfer Playlist and GitHub Repo
https://www.youtube.com/playlist?list=PLhPfNw4V4_YR2Qa3Q9-AzNSF2J9Dc4_qT
https://github.com/theodoreOnzGit/OpenFoam_heatTrf_YouTube
Radiation Heat Transfer Learning Journal and Git Repos:
https://www.youtube.com/watch?v=uUzh9kh-WTo&list=PLhPfNw4V4_YRUUVUydQp-n6U-7uu1kJof
https://github.com/theodoreOnzGit/heatTransferTheory_YouTube
Convection Boundary Layer and git Repos:
https://www.youtube.com/playlist?list=PLhPfNw4V4_YR9pRBpp101Mkuds49vjQ63
https://github.com/theodoreOnzGit/heatTransferTheory_YouTube
Turbulence Modelling Playlist
https://www.youtube.com/watch?v=F_Rxv9uMM3g&list=PLhPfNw4V4_YSnbYkJIBQ1kRN06Mmxe2Be
https://github.com/theodoreOnzGit/turbulenceModelling
LabView Frequency Analysis and Fun (playlist and git repo)
https://www.youtube.com/playlist?list=PLhPfNw4V4_YQYE7XqTisMBkpm7gqNS_nl
https://github.com/theodoreOnzGit/Ted_labview_YouTube
Control Systems and Frequency Response
https://www.youtube.com/watch?v=qHY6y7JmB2U&list=PLhPfNw4V4_YRUuWnrtClovPKxU_gJOXH-
https://github.com/theodoreOnzGit/matlabFrequencyResponse.git
OpenFOAM C++
https://github.com/theodoreOnzGit/C-_YouTube_OpenFoam
https://www.youtube.com/playlist?list=PLhPfNw4V4_YT9OgqS7ZPlot_Ucxzc6pQJ
OpenFOAM Bash
https://github.com/theodoreOnzGit/Bash_OpenFOAM_YouTube
https://www.youtube.com/playlist?list=PLhPfNw4V4_YT5zjBhfj5Hj4r4D5eXilcU
Basic Samba
https://www.youtube.com/playlist?list=PLhPfNw4V4_YQuWJLufBUpNplitReZX0fB
https://github.com/theodoreOnzGit/sambaVideos
Manjaro Tips and Tricks
https://www.youtube.com/playlist?list=PLhPfNw4V4_YQuyXBfJxAvzHJTl0UiWx3h
lammps and Discrete Element Modelling (DEM)
https://www.youtube.com/playlist?list=PLhPfNw4V4_YTdRlnLiu2OUXeTf5ZNVQ9E
playing with dotnet core
https://www.youtube.com/playlist?list=PLhPfNw4V4_YQSTR8sqz0aRVzWlQBq3QUw
dotnet core github repo
https://github.com/theodoreOnzGit/dotnetCoreYoutube