Skip to content

munyeongseok/MSProgrammerCalculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Programmer.Calculator.Video.mp4

MSProgrammerCalculator

MSProgrammerCalculator: Calculator application.

Calculator: Calculator class library.

CalculatorTests: Unit test project.

Project Build

Visual Studio 2022. .NET Framework 4.8.

Notes

For checking coding style.

Implement the Windows Calculator (Programmer) functionalities through clone coding.

MSProgrammerCalculator Solution Structure

graph TD
    calculator[Calculator] --> calculatorApp[MSProgrammerCalculator]
Loading

Calculator Expression Class Diagram

classDiagram
    IExpression <|-- IOperator
    IExpression <|-- UnaryOperatorExpression
    IOperator <|-- UnaryOperatorExpression
    UnaryOperatorExpression <|-- BitwiseNOTExpression
    UnaryOperatorExpression <|-- NegateExpression
    <<interface>> IExpression
    IExpression : long EvaluateResult()
    IExpression : string EvaluateExpression(BaseNumber)
    <<interface>> IOperator
    IOperator : OperatorDescriptor OperatorDescriptor
    <<abstract>> UnaryOperatorExpression
    UnaryOperatorExpression : IExpression Operand
Loading
classDiagram
    IExpression <|-- IOperator
    IExpression <|-- BinaryOperatorExpression
    IOperator <|-- BinaryOperatorExpression
    BinaryOperatorExpression <|-- BitwiseANDExpression
    BinaryOperatorExpression <|-- BitwiseNANDExpression
    BinaryOperatorExpression <|-- BitwiseNORExpression
    BinaryOperatorExpression <|-- BitwiseORExpression
    BinaryOperatorExpression <|-- BitwiseXORExpression
    BinaryOperatorExpression <|-- DivideExpression
    BinaryOperatorExpression <|-- LeftShiftExpression
    BinaryOperatorExpression <|-- MinusExpression
    BinaryOperatorExpression <|-- ModuloExpression
    BinaryOperatorExpression <|-- MultiplyExpression
    BinaryOperatorExpression <|-- PlusExpression
    BinaryOperatorExpression <|-- RightShiftExpression
    <<interface>> IExpression
    IExpression : long EvaluateResult()
    IExpression : string EvaluateExpression(BaseNumber)
    <<interface>> IOperator
    IOperator : OperatorDescriptor OperatorDescriptor
    <<abstract>> BinaryOperatorExpression
    BinaryOperatorExpression : IExpression LeftOperand
    BinaryOperatorExpression : IExpression RightOperand
Loading
classDiagram
    IExpression <|-- IOperator
    IExpression <|-- OperandExpression
    IExpression <|-- SubmitExpression
    IExpression <|-- ParenthesisExpression
    IOperator <|-- ParenthesisExpression
    <<interface>> IExpression
    IExpression : long EvaluateResult()
    IExpression : string EvaluateExpression(BaseNumber)
    <<interface>> IOperator
    IOperator : OperatorDescriptor OperatorDescriptor
Loading

About

For checking coding style.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages