public int Calculate(Context c)
        {
            if (!_cache.ContainsKey(c))
            {
                int result = _subject.Calculate(c);
                _cache.Add(c, result);
                return(result);
            }

            return(_cache[c]);
        }
 public int Calculate(Context c)
 {
     if (c.SubjectAccessManager.CheckCredentials(c.UserCredentials))
     {
         return(_subject.Calculate(c));
     }
     else
     {
         throw new ArgumentException();  //..or other handling
     }
 }
 public int Calculate(Context c)
 {
     return(_subject.Calculate(c));
 }
 public int Calculate(Context c)
 {
     InitSubject();
     return(_subject.Calculate(c));
 }
 public int Calculate(Context c)
 {
     CallsToCalculate++;
     return(_subject.Calculate(c));
 }
예제 #6
0
 public void UseSubject(ISubject subject, Context c)
 {
     int result = subject.Calculate(c);
 }