Advertisement
Guest User

Untitled

a guest
Apr 21st, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.09 KB | None | 0 0
  1. dotnetdave
  2.  
  3. -improving code quality
  4.  
  5. -8583670921 GABB
  6.  
  7. -layers architecture applied to azure
  8.  
  9. -3rd party vendors, use components from others. worflow on how 2 research them
  10.  
  11. -Rock world survey App - phone # connected to that
  12. --cloud based SMS, rate sessions
  13. --gather info like skill level, email, comments.
  14. --admin features
  15.  
  16. Architecture of App (bottom to top)
  17. -Good data Layer, SQL Server. Entity framework, DataSets [emphasis here?]
  18.  
  19. -Business layer (workflow, components [Azure webjob], entities [POCO, T4 templates])
  20.  
  21. -Communications layer
  22. WCF, Web services, Azure, Azure App ervices, WCF workflow, Azure App services
  23.  
  24. -User experience (UI components) (Presentation layer - most code here)
  25. store, sharepoint, VSTO, reporting, lightswitch, ASP.NET
  26. 90% of code should not be here. only code to deal with freaking users.
  27. cache as much as u can if u want to look speed faster.
  28.  
  29. --On side of architecture, Identity [active directory, identity foundation]
  30.  
  31. Other goals: cheap as possible. turn on app only when speaking.
  32.  
  33. Data Layer:
  34. -very important proper foundation
  35. -Entity framework 6. SQL azure. LocalDB for debugging. copy from SQLazure down, run locally.
  36. -ORM, exposes DbContext, custom methods. Uses migrations to keep database up to date.
  37. -EF if u change field, spit out code automatically for migration. if it has to make new table, automated changes.
  38.  
  39. Data layer design slide:
  40. Talks table. all talks.
  41. SurveryContext - all data comes from this. Done with wizards in visual studio.
  42.  
  43. Entity framework slide.
  44. Easy to perform CRUD. CRUD or store procedure same speed.
  45. Works with most DBs. Use pre-generated views to speed up start-up time.
  46. Pre-cache queries if sees them alot.
  47.  
  48. Slide Entity Framework issues:
  49. -EF7 or EF core, not ready at time of writing data layer.
  50. -migrations kept reseeding databse causing duplicate records
  51. -migrations should be easier. only way to do is PowerShell
  52. - doesnt show u db path from LocalDB
  53.  
  54. ===Business Layer===
  55.  
  56. any framework code first classes.
  57. Data entities
  58. Validation is re-used in DB and UX layers.
  59. interface and data entity for SMS messages. if u want to swap out SMS layer it's easy
  60. Entities use base.
  61. Issues: had to rewrite base class due to indexing issues.
  62. ----- why string database field for Id?
  63. guid? assembly?
  64. inhertance ITableData
  65.  
  66. slide SMSprocessor Assembly
  67. -use twlilio
  68. -SMSClient is interface. dont have to use twilio. swap out possible.
  69. Twilio issues: images number doesn't work
  70. -----doesnt remove assets when messages are deleted. doesn't delete pictures with message.
  71. ""Chunky not chatty""
  72. -----new version completely breaks current code!!
  73.  
  74. Dotnettips.conference.survey.webjob *meat of app*
  75. -retrieves and sends SMS messages from attendees and speaker
  76. -sends stats to speaker via text every x minutes
  77. -sends out winners and survey x minutes before end of session
  78. -auto completes session after x minutes or all survey data completed by attendees
  79. Webjob, console app that runs in azure
  80. Webjob issues: doesn't stay alive unless switch standard plan or above
  81. -------: set always on
  82. -------: token.IsCancellationRequested doesn't work
  83. -------: fail messages archaic
  84. -------: documentation is non-existent for some things
  85.  
  86. ===Communcations Layer===
  87.  
  88. -Azure mobile app (service) [NOT USED]
  89. -supports push out of the box. no tooling for clients, doesn't support OData. not ready prime time
  90.  
  91. -Web API for services layer. works, been around, tooling for it, easy to get going.
  92. -doesn't support pipes.
  93. -Make sure u select WEbAPi when creating web project to ensure proper classes / config is added
  94.  
  95. ===User Experience Layer===
  96.  
  97. ASP.NET(Azure)
  98. Reporting
  99. Mobile Phones(Xamarin)
  100.  
  101. website show upcoming sesion,current average rating(public)
  102. administer data (private)
  103. add edit talks, events and sessions (private)
  104.  
  105. Web app architecture
  106. ASP.net web forms (fastest way for webpages)
  107. 3rd party controls for UI
  108. Implements security via ASP.NET identity database
  109.  
  110. Third party products to get things done quick
  111. Research - pick 3 companies that do thing, read stuff, read comments
  112. Install - see how work, what they installed.
  113. Test - as real world as possible to see if it can solve
  114.  
  115. Grid control - grid shows all upcoming sessions
  116. looked at Grapecity (ComponentOne) no auto editing features
  117. Telerik - would not save data via EntityDataSource control
  118. Dataexpress - only a few issues
  119.  
  120. "never let users type if can help it"
  121. need "real world" example apps, incl downloadable source.
  122. better documentation!
  123. faster reply to support tickets.
  124.  
  125. ===Other App Features===
  126.  
  127. -App logging
  128. --TraceListeners via dotNetTips.utility.logging opensource assembly
  129. --Backup via AzureDiagnostics TraceListener
  130. --Stackify, install everything via nouget pkg, look at tlogg
  131.  
  132. encapsulation extension methods. Unit testing using MSTest and Intellitest
  133.  
  134. CodeIt.Right: can fix bugs for you
  135. ghost doc: if u use proper naming standards, ghost doc will write for you
  136. memory profiling: watching memory dumps while program is running .Net memory profiler from psytech
  137. Spices.net obfuscator: need to obfuscate code, else gets easily stolen. like someone stealing DLLs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement