Giter VIP home page Giter VIP logo

dualviewsdrawingapplication's Introduction

Dual Views Drawing Application

Description

This is a simple drawing application for Windows which supports two view versions: Windows Forms and Universal Windows Platform (UWP).

Contributor

Design Patterns

The application is implemented applying the following design patterns:

  • Model-View-Controller (MVC) Pattern
  • Observer Pattern
  • Adapter Pattern
  • Simple Factory Pattern
  • State Pattern
  • Command Pattern

Unit Testing

The application has 100% code coverage for model.

GUI Testing

The application possesses two simple GUI tests.

Preview

Windows Forms Application

Windows Forms Application - Preview

Windows Universal Application

Windows Universal Application - Preview

dualviewsdrawingapplication's People

Contributors

phogbinh avatar

Watchers

James Cloos avatar  avatar

dualviewsdrawingapplication's Issues

Removal of Dr.Smell.

Remove Dr.Smell for clarity, because it sucks. Dr.Smell was used only for submitting homework during the 2019 Fall Semester in Windows Programming course at National Taipei University of Technology.

Undefined behavior caused by Clear conflict with Undo and Redo.

On 4 January 2020, once the clear button is clicked to erase all shapes on the canvas, undo and redo behavior is undefined; that is, it looks buggy. As a result, the clear functionality should has its own ClearingCommand to fit with the undo redo mechanism.

Constraint on shape layers.

On 4 January 2020, the shape drawing list represents the shape layer list. This constraints the application from expanding a new functionality to change the shapes' layer order.

Duplicate code for setting the currently selected shape info text.

On 4 January 2020, there are two identical code snippets for setting the currently selected shape info text in two versions of the view (one in DrawingForm.cs and one in DrawingPage.cs).
The logic for setting the currently selected shape info should be migrated to DrawingPresentationModel for better code quality and consistency.

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.