Repository navigation
Expand file tree
/
Copy pathBehavioralProblem.cs
More file actions
69 lines (58 loc) · 1.56 KB
/
Copy pathBehavioralProblem.cs
File metadata and controls
69 lines (58 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
namespace ConsoleApp16.BehavioralProblem
{
public class Person
{
public void Anger() { }
public void Humor() { }
public void Love() { }
public void Disgust() { }
public void Courgae() { }
public void Calm() { }
public void Professional() { }
}
public class FamilyContext
{
public void Connect(Person familyMmeber)
{
familyMmeber.Professional();//hide
familyMmeber.Disgust();//hide
}
}
public class FriendContext
{
public void Connect(Person friend)
{
friend.Professional();//hide
}
}
public class SocialContext
{
public void Connect(Person citizen)
{
citizen.Anger();//hide
citizen.Disgust();//hide
}
}
public class OfficeContext
{
public void Connect(Person employee)
{
employee.Anger();//hide
}
}
public class Program
{
public static void Main()
{
Person _person = new Person();
FamilyContext familyContext = new FamilyContext();
familyContext.Connect(_person);
FriendContext friendContext = new FriendContext();
friendContext.Connect(_person);
OfficeContext officeContext = new OfficeContext();
officeContext.Connect(_person);
SocialContext socialContext = new SocialContext();
socialContext.Connect(_person);
}
}
}