欧美疯狂三p群体交乱视频,搡老女人多毛老妇女中国,天天夜碰日日摸日日澡性色av,大乳videos巨大

asp.net 組合模式的PHP代碼

時間:2024-10-07 12:35:26 ASP 我要投稿
  • 相關推薦

asp.net 組合模式的PHP代碼

  復制代碼 代碼如下:

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Text;

  namespace Test

  {

  class Program

  {

  static void Main(string[] args)

  {

  var customer = new Customer

  {

  IsActive = true,

  LateFees = 100M,

  TotalRentNumber = 10

  };

  Console.WriteLine(customer.CanRent());

  Console.ReadKey();

  }

  }

  public interface ISpecification

  {

  ///

  /// 是否可以租賃

  ///

  bool IsSatisfiedBy(T entity);

  ///

  /// 與操作

  ///

  ISpecificationAnd(ISpecificationother);

  ///

  /// 否操作

  ///

  ISpecificationNot();

  }

  ///

  /// 基類

  ///

  public abstract class CompositeSpecification: ISpecification

  {

  public abstract bool IsSatisfiedBy(T candidate);

  public ISpecificationAnd(ISpecificationother)

  {

  return new AndSpecification(this, other);

  }

  public ISpecificationNot()

  {

  return new NotSpecification(this);

  }

  }

  ///

  /// 與操作

  ///

  public class AndSpecification: CompositeSpecification

  {

  private ISpecificationleftSpecification;

  private ISpecificationrightSpecification;

  public AndSpecification(ISpecificationleftSpecification, ISpecificationrightSpecification)

  {

  this.leftSpecification = leftSpecification;

  this.rightSpecification = rightSpecification;

  }

  public override bool IsSatisfiedBy(T entity)

  {

  return leftSpecification.IsSatisfiedBy(entity) && rightSpecification.IsSatisfiedBy(entity);

  }

  }

  ///

  ///否操作

  ///

  public class NotSpecification: CompositeSpecification

  {

  private ISpecificationinnerSpecification;

  public NotSpecification(ISpecificationinnerSpecification)

  {

  this.innerSpecification = innerSpecification;

  }

  public override bool IsSatisfiedBy(T entity)

  {

  return !innerSpecification.IsSatisfiedBy(entity);

  }

  }

  ///

  /// 是否達到最大的規定租賃數

  ///

  public class HasReachedMaxSpecification : CompositeSpecification

  {

  public override bool IsSatisfiedBy(Customer entity)

  {

  return entity.TotalRentNumber > 5;

  }

  }

  ///

  /// 是否激活

  ///

  public class CustomerActiveSpecification : CompositeSpecification

  {

  public override bool IsSatisfiedBy(Customer entity)

  {

  return entity.IsActive;

  }

  }

  ///

  /// 是否欠費

  ///

  public class CustomerHasLateFeesSpecification : CompositeSpecification

  {

  public override bool IsSatisfiedBy(Customer entity)

  {

  return entity.LateFees > 0;

  }

  }

  public class Customer

  {

  private ISpecificationhasReachedRentalThreshold;

  private ISpecificationcustomerIsActive;

  private ISpecificationcustomerHasLateFees;

  public Customer()

  {

  hasReachedRentalThreshold = new HasReachedMaxSpecification();

  customerIsActive = new CustomerActiveSpecification();

  customerHasLateFees = new CustomerHasLateFeesSpecification();

  }

  ///

  /// 用戶租賃DVD數量

  ///

  public int TotalRentNumber

  {

  get;

  set;

  }

  ///

  /// 賬戶是否激活

  ///

  public bool IsActive

  {

  get;

  set;

  }

  ///

  /// 用戶之前是否還欠費

  ///

  public decimal LateFees

  {

  get;

  set;

  }

  public bool CanRent()

  {

  ISpecificationcanRent = customerIsActive.And(hasReachedRentalThreshold.Not()).And(customerHasLateFees.Not());

  return canRent.IsSatisfiedBy(this);

  }

  }

  }

【asp.net 組合模式的PHP代碼】相關文章:

php數組函數序列之array-combine() - 數組合并函數的代碼08-25

php如何過濾危險html代碼09-21

將php實現過濾UBB代碼09-11

php對圖像的各種處理函數代碼總結07-03

如何在cmd下面寫php代碼01-22

ASP.NET連SQL7接口的源代碼06-06

PHP url 加密解密函數代碼方法10-25

企業薪酬設計基本模式及組合模式02-26

關于PHP var-dump遍歷對象屬性的函數與應用代碼06-21

關于ASP.NET使用JavaScript顯示信息提示窗口實現原理及代碼05-09

主站蜘蛛池模板: 任丘市| 鄂州市| 太仓市| 宝兴县| 华池县| 姚安县| 旌德县| 南丹县| 莫力| 孝感市| 绥江县| 扎赉特旗| 康马县| 当涂县| 鹿邑县| 竹北市| 葫芦岛市| 册亨县| 东丽区| 南陵县| 临湘市| 乌兰县| 乌兰察布市| 南江县| 普安县| 内江市| 女性| 瑞丽市| 平南县| 石城县| 镇平县| 胶州市| 余江县| 海伦市| 崇仁县| 苍山县| 绩溪县| 杭锦旗| 安新县| 平陆县| 陵水|