Exemplo n.º 1
0
        public void Rate()
        {
            _logger.Log("Starting rate.");

            _logger.Log("Loading policy.");

            string policyString = _policySource.GetPolicyFromSource();

            var policy = _policySerializer.GetPolicyFromJsonString(policyString);

            var rater = _raterFactory.Create(policy);

            Rating = rater.Rate(policy);

            _logger.Log("Rating completed.");
        }
Exemplo n.º 2
0
        public void Rate()
        {
            _logger.Log("Starting rate.");

            _logger.Log("Loading policy.");

            string policyString = _policySource.GetPolicyFromSource();

            var policy = _policySerializer.GetPolicyFromString(policyString);

            //var rater = Context.CreateRaterForPolicy(policy, Context);
            var rater = _raterFactory.Create(policy);

            Rating = rater.Rate(policy);

            _logger.Log("Rating completed.");
            #region old code before ISP
            //Logger.Log("Starting rate.");

            //Logger.Log("Loading policy.");

            //// load policy - open file policy.json
            //string policyJson = PolicySource.GetPolicyFromSource();

            //var policy = PolicySerializer.GetPolicyFromJsonString(policyJson);

            //var factory = new RaterFactory();
            //var rater = factory.Create(policy, this);
            //// first step: original behavior printed Unknown policy type when policy type was unknown
            ////rater?.Rate(policy);

            //// second step: this null check breaks LSP
            ////if (rater == null)
            ////{
            ////    Logger.Log("Unknown policy type");
            ////}
            ////else
            ////{
            ////    rater.Rate(policy);
            ////}

            //// third step: all policies are processed the same way
            //rater.Rate(policy);

            //Logger.Log("Rating completed.");
            #endregion
        }
Exemplo n.º 3
0
        public void Rate()
        {
            Logger.Log("Starting rate.");

            Logger.Log("Loading policy.");

            var policyJson = PolicySource.GetPolicyFromSource();

            var policy = PolicySerializer.GetPolicyFromJsonString(policyJson);

            var factory = new RaterFactory();

            var rater = factory.Create(this, policy);

            rater?.Rate(policy);

            Logger.Log("Rating completed.");
        }