Update description for visitor

This commit is contained in:
Petrutiu Mihai
2016-07-13 16:47:20 +03:00
parent 7d013ce48b
commit 689509c5de
3 changed files with 70 additions and 0 deletions

View File

@@ -3,6 +3,9 @@ using System.Collections.Generic;
namespace VisitorPattern.CalculateMoney.WithVisitor
{
/// <summary>
/// ObjectStructure
/// </summary>
public class CorruptionSuspect : IAsset
{
public CorruptionSuspect()
@@ -43,11 +46,18 @@ namespace VisitorPattern.CalculateMoney.WithVisitor
}
}
/// <summary>
/// Visitable
/// </summary>
public interface IAsset
{
void Accept(IVisitor visitor);
}
/// <summary>
/// Concrete Visitable
/// </summary>
public class Job : IAsset
{
public double Salary { get; set; }
@@ -62,6 +72,9 @@ namespace VisitorPattern.CalculateMoney.WithVisitor
}
}
/// <summary>
/// Concrete Visitable
/// </summary>
public class MoneyBankAccount : IAsset
{
public double Ammount { get; set; }
@@ -80,6 +93,9 @@ namespace VisitorPattern.CalculateMoney.WithVisitor
}
}
/// <summary>
/// Concrete Visitable
/// </summary>
public class Valuable : IAsset
{
public double EstimatedValue { get; set; }
@@ -92,12 +108,24 @@ namespace VisitorPattern.CalculateMoney.WithVisitor
}
}
/// <summary>
/// Concrete Visitable
/// </summary>
public class Clock : Valuable { }
/// <summary>
/// Concrete Visitable
/// </summary>
public class RealEstate : Valuable { }
/// <summary>
/// Concrete Visitable
/// </summary>
public class Art : Valuable { }
/// <summary>
/// Concrete Visitable
/// </summary>
public class Loan : IAsset
{
public double Owed { get; set; }

View File

@@ -2,6 +2,9 @@
namespace VisitorPattern.CalculateMoney.WithVisitor
{
/// <summary>
/// Visitor
/// </summary>
public interface IVisitor
{
void Visit(MoneyBankAccount moneyBankAccount);
@@ -11,6 +14,10 @@ namespace VisitorPattern.CalculateMoney.WithVisitor
void Visit(Valuable valuable);
}
/// <summary>
/// Concrete Visitor
/// </summary>
public class NetWorthVisitor : IVisitor
{
public double NetWorth { get; private set; }
@@ -36,6 +43,9 @@ namespace VisitorPattern.CalculateMoney.WithVisitor
}
}
/// <summary>
/// Concrete Visitor
/// </summary>
public class NetWorth2Visitor : IVisitor
{
public double NetWorth { get; private set; }
@@ -61,6 +71,9 @@ namespace VisitorPattern.CalculateMoney.WithVisitor
}
}
/// <summary>
/// Concrete Visitor
/// </summary>
public class MonthlyIncomeVisitor : IVisitor
{
public double MonthlyIncome { get; private set; }