好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > asp.net 組合模式的一個例子

asp.net 組合模式的一個例子

熱門標(biāo)簽:太原外呼電銷機器人費用 外呼系統(tǒng)用員工身份證 朝陽市地圖標(biāo)注 使用智能電話機器人違法嗎 保山電話外呼管理系統(tǒng)怎么用 蘇州銷售外呼系統(tǒng)預(yù)算 東莞語音電銷機器人排名 淘寶地圖標(biāo)注如何做 電話機器人廣告話術(shù)
復(fù)制代碼 代碼如下:

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 ISpecificationT>
{
/// summary>
/// 是否可以租賃
/// /summary>
bool IsSatisfiedBy(T entity);
/// summary>
/// 與操作
/// /summary>
ISpecificationT> And(ISpecificationT> other);
/// summary>
/// 否操作
/// /summary>
ISpecificationT> Not();
}
/// summary>
/// 基類
/// /summary>
public abstract class CompositeSpecificationT> : ISpecificationT>
{
public abstract bool IsSatisfiedBy(T candidate);
public ISpecificationT> And(ISpecificationT> other)
{
return new AndSpecificationT>(this, other);
}
public ISpecificationT> Not()
{
return new NotSpecificationT>(this);
}
}
/// summary>
/// 與操作
/// /summary>
public class AndSpecificationT> : CompositeSpecificationT>
{
private ISpecificationT> leftSpecification;
private ISpecificationT> rightSpecification;
public AndSpecification(ISpecificationT> leftSpecification, ISpecificationT> rightSpecification)
{
this.leftSpecification = leftSpecification;
this.rightSpecification = rightSpecification;
}
public override bool IsSatisfiedBy(T entity)
{
return leftSpecification.IsSatisfiedBy(entity) rightSpecification.IsSatisfiedBy(entity);
}
}
///summary>
///否操作
/// /summary>
public class NotSpecificationT> : CompositeSpecificationT>
{
private ISpecificationT> innerSpecification;
public NotSpecification(ISpecificationT> innerSpecification)
{
this.innerSpecification = innerSpecification;
}
public override bool IsSatisfiedBy(T entity)
{
return !innerSpecification.IsSatisfiedBy(entity);
}
}
/// summary>
/// 是否達到最大的規(guī)定租賃數(shù)
/// /summary>
public class HasReachedMaxSpecification : CompositeSpecificationCustomer>
{
public override bool IsSatisfiedBy(Customer entity)
{
return entity.TotalRentNumber > 5;
}
}
/// summary>
/// 是否激活
/// /summary>
public class CustomerActiveSpecification : CompositeSpecificationCustomer>
{
public override bool IsSatisfiedBy(Customer entity)
{
return entity.IsActive;
}
}
/// summary>
/// 是否欠費
/// /summary>
public class CustomerHasLateFeesSpecification : CompositeSpecificationCustomer>
{
public override bool IsSatisfiedBy(Customer entity)
{
return entity.LateFees > 0;
}
}
public class Customer
{
private ISpecificationCustomer> hasReachedRentalThreshold;
private ISpecificationCustomer> customerIsActive;
private ISpecificationCustomer> customerHasLateFees;
public Customer()
{
hasReachedRentalThreshold = new HasReachedMaxSpecification();
customerIsActive = new CustomerActiveSpecification();
customerHasLateFees = new CustomerHasLateFeesSpecification();
}
/// summary>
/// 用戶租賃DVD數(shù)量
/// /summary>
public int TotalRentNumber
{
get;
set;
}
/// summary>
/// 賬戶是否激活
/// /summary>
public bool IsActive
{
get;
set;
}
/// summary>
/// 用戶之前是否還欠費
/// /summary>
public decimal LateFees
{
get;
set;
}
public bool CanRent()
{
ISpecificationCustomer> canRent = customerIsActive.And(hasReachedRentalThreshold.Not()).And(customerHasLateFees.Not());
return canRent.IsSatisfiedBy(this);
}
}
}
您可能感興趣的文章:
  • Android源碼學(xué)習(xí)之組合模式定義及應(yīng)用
  • JavaScript 設(shè)計模式之組合模式解析
  • php設(shè)計模式 Composite (組合模式)
  • C++設(shè)計模式之組合模式
  • c# 組合模式
  • Java設(shè)計模式之組合模式(Composite模式)介紹
  • C#組合模式實例詳解
  • Python的組合模式與責(zé)任鏈模式編程示例
  • iOS應(yīng)用開發(fā)中運用設(shè)計模式中的組合模式的實例解析
  • java設(shè)計模式之組合模式(Composite)

標(biāo)簽:克拉瑪依 綏化 阿里 運城 西藏 潛江 呼倫貝爾 洛陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp.net 組合模式的一個例子》,本文關(guān)鍵詞  asp.net,組合,模式,的,一個,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net 組合模式的一個例子》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp.net 組合模式的一個例子的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 免费无码又爽又刺激A片视频男男| 亚洲精品免费日日日夜夜夜夜| 女人让男人桶到爽无遮挡| 亚洲三级网址| 国产精品无圣光在线一区| 第一色区| 理论片午午伦夜理片影院99| 美女全身无遮挡| 小说区 都市 校园 激情 另类 | b站黄页推广网站| 色八区人妻在线视频中文| 国模小黎大尺度精品0282p| 美女露出尿口视频| 荡女淫春天堂影院| 久9热精品视频在线观看| AV又粗又大又紧又滑视频| 少妇寡妇婬乱A毛片视频| 午夜亚洲国产精品福利| 久久国内| 午夜理论片手机在线观看 | 印度男人粗硬长配种视频| 免费看污黄网站| 绯色Av一区二区三区蜜臀| 精品国产乱码久久久久久虫虫漫画| 91视频app视频下载ios| 日本男人激烈吮乳吃奶| ins专用加速器下载| 国产精品久久久久久久免| 欧美视频在线观看免费精品欧美视频| 我和小公交车激情| 美女扒开胸罩给男生看图片| 久久久无码AV精品夜夜挺价格| 激情孕妇系列| 好男人手机在线观看下载免费| 越南肥女bbwhd| 啊轻点灬太粗嗯太深h宿舍| 精品人妻一区二区三区蜜桃| 粗暴调教玩弄NP高H小说| 被女同学坐在脸上灌尿小说| 色婷婷综合久久久久精品| 色琪琪一区二区三区亚洲区|