Code Monkey home page Code Monkey logo

csharpoo-project's Introduction

C# OO programming

Second year of Elektronics & ICT at Odisee Ghent.

Feedback C# OO Programming

Kennismaking Visual Studio 2019

  • Aanmaken solution binnen GIT-repository
  • Eenvoudige consoletoepassing (met invoer gebruiker)
  • Eenvoudige WinForm toepassing
  • Een klasse toevoegen

Gebruik GIT

  • Je gebruikt 'atomaire' commits
  • Je voert voldoende frequent een 'Commit All & Sync' uit.
  • Je gebruikt zinvolle commit messages

Debugging

  • Code stap voor stap uitvoeren
  • Breakpoints
  • De waarde van variabelen bekijken tijdens de uitvoering van je programma

Programmeerstijl

  • Huisregels voor programmeerstijl volgen

Exceptions

  • try..catch..finally
  • Je werpt bruikbare exceptions op wanneer je een foutsituatie detecteert die niet lokaal op een beter manier kan afgehandeld worden.

Enumerations

  • Declaratie en gebruik van enum-type

Properties

  • Full property (with private backing field)
  • Auto-implemented property
  • Access-modifiers voor Getters en Setters

Interpolated strings

  • Interpolated strings

Generic collections

  • List
  • Dictionary<T,T>
  • Overzicht andere generic collections
  • Je gebruikt een dictionary correct maar op een zeer beperkte manier.

Interfaces

  • Interface declaratie
  • Interface implementatie
  • Interface gebruiken als type

Architectuur van een toepassing - Meerlagenmodel

  • Klasseblibliotheken
  • Meerlagenmodel - 3lagenmodel
  • 'Loose coupling' - dependency injection
  • Interface gebruiken als scheiding tussen architectuurlagen

Bestanden en 'streams'

  • Statische klassen uit 'System.IO'
  • Streams
  • Serialisatie

'Value' en 'Reference' types, cloning van objecten

  • 'value' en 'reference' types, 'deep' versus 'shallow' copy
  • object cloning
  • Je hebt al 'Copy' constructors maar nog geen 'deep' copy.
  • Je hebt wel een 'DeepCopy' methode in 'Case' maar alle velden van die klasse zijn value-types en daarbij is er dus ook geen sprake van een 'deep' copy.

Klassen - klassehiërarchie

  • Klasse declaratie - constructoren
  • constructor overloading
  • Klasse-hiërarchie
  • Je hebt nog steeds een erg beperkte klasse-hiërarchie: er is slechts één subklasse van basisklasse 'Case', er worden geen virtuele methodes of overrides gebruikt en die subklasse wordt eigenlijk enkel gebruikt voor het deserialiseren van je JSonData.

Structs

  • Structs
Extension methods
  • Extension method schrijven
  • Functioneel gebruik van extension methods

Delegates

  • Delegates
  • Je 'DataDelegate' in 'LogicHandler' krijgt steeds (enkel) de waarde 'GetTotalsFromData' en heeft zo slechts een beperkt nut.

Lambda expressions

  • Lambda expressions

Language Integrated Query (Linq)

  • Linq standard query operator syntax
  • Linq method syntax
  • Basismethodes voor Linq

Events

  • Event 'Publisher'
  • Event 'Consumer'

Concurrent programmatie: Tasks

  • Tasks
  • Cross-thread' interactie vanuit een Task met de userinterface
  • Exceptions in Tasks
  • Parallel loops
  • Je gebruikt nog geen task cancellation

Concurrent programming: Task synchronisation

--> Nog niet beoordeeld

  • Lock
  • Concurrent/ thread safe collections

Asynchronous programming: async .. await

  • async .. await

(Recursie)

--> Nog niet beoordeeld

  • Recursie - concept
  • Backtracking

(Indexers & Iteratoren)

--> Nog niet beoordeeld

  • Indexers
  • Enumeratoren

(Statische klassen, methoden, velden)

  • Statische klassen, methoden, velden

Code Reviews

  • Code reviews

csharpoo-project's People

Contributors

xevro avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.