当前位置: 首页 > news >正文

做网站能拿多少钱网络营销论文

做网站能拿多少钱,网络营销论文,天津网站建设行业新闻,大连网站建设短期培训班文章目录 委托自定义委托模板方法(工厂模式回调(callback)函数(观察者模式多播(multicast)委托委托的高级使用使用接口 重构 模板方法代码注意参考 委托 委托(delegate)是一种类型,定义了一种方…

文章目录

  • 委托
  • 自定义委托
  • 模板方法(工厂模式
  • 回调(callback)函数(观察者模式
  • 多播(multicast)委托
  • 委托的高级使用
  • 使用接口 重构 模板方法代码
  • 注意
  • 参考


委托

委托(delegate)是一种类型,定义了一种方法签名,因此可以将方法作为参数进行传递。
委托类似于 C++ 中的函数指针,但比函数指针更加安全和灵活。
使用委托,可以实现事件处理、回调函数等功能。
建议:使用接口取代委托

  • Action
    • 无参无返回
  • Func
    • 有参有返回
        Calaculator calaculator = new Calaculator();// Actionnew Action(calaculator.Report).Invoke();// FuncFunc<int, int, int> func1 = new Func<int, int, int>(calaculator.Add);Func<int, int, int> func2 = new Func<int, int, int>(calaculator.Sub);int x = 100;int y = 200;int z = 0;// 可以省略invokez = func1(x, y);Console.WriteLine(z);z = func2.Invoke(x, y);Console.WriteLine(z);class Calaculator {public void Report(){Console.WriteLine("i have 3 methods");}public int Add(int a, int b){return a + b;}public int Sub(int a, int b){return a - b;}
}

自定义委托

// 与类平级,放到类中属于嵌套
public delegate double Calc(double x,double y);
internal class Program
{static void Main(string[] args){Calaculator calaculator = new Calaculator();Calc calc1 = new Calc(calaculator.Add1);Calc calc2 = new Calc(calaculator.Mul);double x = 100;double y = 100;double z = 0;z = calc1.Invoke(x, y);Console.WriteLine(z);z = calc2.Invoke(x, y);Console.WriteLine(z);}
}

模板方法(工厂模式

”借用“指定的外部方法来产生结果 , 提高对代码的复用
ProductFactory() 只需要扩展这个方法,其他方法都不用动

    static void Main(string[] args){ProductFactory productFactory = new ProductFactory();WrapFactory wrapFactory = new WrapFactory();Func<Product> func1 = new Func<Product>(productFactory.MakeToy);Func<Product> func2 = new Func<Product>(productFactory.MakePizza);Box box1 = wrapFactory.WrapProduct(func1);Box box2 = wrapFactory.WrapProduct(func2);Console.WriteLine(box1.Product.Name);Console.WriteLine(box2.Product.Name);}
}class Product() { public string Name { get; set; }
}class Box() { public Product Product { get; set; }
}class WrapFactory {public Box WrapProduct(Func<Product> getProduct) {Box box = new Box();// invoke 执行拿到产品(不用管是什么产品Product product = getProduct.Invoke();box.Product = product;return box;}
}class ProductFactory() {public Product MakePizza() {Product product = new Product();product.Name = "Pizza";return product;}public Product MakeToy() {Product product = new Product();product.Name = "Toy";return product;}
}

回调(callback)函数(观察者模式

调用指定的外部方法
在模板方法基础上添加

internal class Program
{static void Main(string[] args){ProductFactory productFactory = new ProductFactory();WrapFactory wrapFactory = new WrapFactory();Func<Product> func1 = new Func<Product>(productFactory.MakeToy);Func<Product> func2 = new Func<Product>(productFactory.MakePizza);Logger logger = new Logger();Action<Product> action = new Action<Product>(logger.Log);Box box1 = wrapFactory.WrapProduct(func1,action);Box box2 = wrapFactory.WrapProduct(func2,action);Console.WriteLine(box1.Product.Name);Console.WriteLine(box2.Product.Name);}
}class Logger {public void Log(Product product) {//DateTime.UtcNow 无时区时间 ; DateTime.Now 有时区Console.WriteLine("Product '{0}' created at {1}.Price is {2}",product.Name,DateTime.UtcNow,product.Price);}
}class Product() { public string Name { get; set; }public double Price{ get; set; }
}class Box() { public Product Product { get; set; }
}class WrapFactory {public Box WrapProduct(Func<Product> getProduct,Action<Product> logCallback) {Box box = new Box();Product product = getProduct.Invoke();// 回调函数:触发某种条件就自动执行if (product.Price >= 50) {logCallback(product);}box.Product = product;return box;}
}class ProductFactory() {public Product MakePizza() {Product product = new Product();product.Name = "Pizza";product.Price = 12;return product;}public Product MakeToy() {Product product = new Product();product.Name = "Toy";product.Price=120;return product;}
}

多播(multicast)委托

在这里插入图片描述
在这里插入图片描述

委托的高级使用

1

使用接口 重构 模板方法代码

直接用接口,不使用委托。

方法形参为接口,类继承接口,new不同的类传进同个方法

internal class Program
{static void Main(string[] args){WrapFactory wrapFactory = new WrapFactory();Logger logger = new Logger();Action<Product> action = new Action<Product>(logger.Log);Box box1 = wrapFactory.WrapProduct(new PizzaFactory());Box box2 = wrapFactory.WrapProduct(new ToyCarFactory());Console.WriteLine(box1.Product.Name);Console.WriteLine(box2.Product.Name);}
}interface IProductFactory {Product Make();
}class PizzaFactory : IProductFactory
{public Product Make(){Product product = new Product();product.Name = "Pizza";product.Price = 12;return product;}
}class ToyCarFactory : IProductFactory
{public Product Make(){Product product = new Product();product.Name = "Toy";product.Price = 120;return product;}
}
class WrapFactory {public Box WrapProduct(IProductFactory productFactory) {Box box = new Box();Product product = productFactory.Make();box.Product = product;return box;}
}
}

注意

委托:
1

参考

刘铁猛——C#


文章转载自:
http://vinylidene.c7495.cn
http://balsam.c7495.cn
http://amendment.c7495.cn
http://upwardly.c7495.cn
http://incidence.c7495.cn
http://moonstone.c7495.cn
http://quetzal.c7495.cn
http://mischief.c7495.cn
http://keck.c7495.cn
http://heavenly.c7495.cn
http://unearth.c7495.cn
http://viviparously.c7495.cn
http://antipode.c7495.cn
http://bourse.c7495.cn
http://bewilderment.c7495.cn
http://retractor.c7495.cn
http://rhizogenic.c7495.cn
http://tensity.c7495.cn
http://tracer.c7495.cn
http://dsrv.c7495.cn
http://investigable.c7495.cn
http://redly.c7495.cn
http://ropey.c7495.cn
http://allopatric.c7495.cn
http://electrotype.c7495.cn
http://caliban.c7495.cn
http://precipice.c7495.cn
http://reversing.c7495.cn
http://chairone.c7495.cn
http://flyflap.c7495.cn
http://niphablepsia.c7495.cn
http://madrid.c7495.cn
http://sen.c7495.cn
http://amyotrophia.c7495.cn
http://parti.c7495.cn
http://viosterol.c7495.cn
http://imprisonable.c7495.cn
http://turion.c7495.cn
http://counterevidence.c7495.cn
http://banquo.c7495.cn
http://live.c7495.cn
http://maltworm.c7495.cn
http://amative.c7495.cn
http://abraser.c7495.cn
http://sizer.c7495.cn
http://sigillographer.c7495.cn
http://sagaciousness.c7495.cn
http://unitrust.c7495.cn
http://babassu.c7495.cn
http://catastrophist.c7495.cn
http://mendelian.c7495.cn
http://microlinguistics.c7495.cn
http://usurpative.c7495.cn
http://adela.c7495.cn
http://retreatism.c7495.cn
http://spinulescent.c7495.cn
http://cigs.c7495.cn
http://voyeurist.c7495.cn
http://nonreproductive.c7495.cn
http://dmd.c7495.cn
http://tartarian.c7495.cn
http://fortuna.c7495.cn
http://shcherbakovite.c7495.cn
http://nottinghamshire.c7495.cn
http://typefoundry.c7495.cn
http://dory.c7495.cn
http://timeserving.c7495.cn
http://trochotron.c7495.cn
http://gaius.c7495.cn
http://decoupage.c7495.cn
http://enounce.c7495.cn
http://flossie.c7495.cn
http://afloat.c7495.cn
http://lehua.c7495.cn
http://siphonophore.c7495.cn
http://ragbolt.c7495.cn
http://cooperate.c7495.cn
http://achinese.c7495.cn
http://mackintosh.c7495.cn
http://tabernacular.c7495.cn
http://ceraunograph.c7495.cn
http://travelog.c7495.cn
http://christiana.c7495.cn
http://cytotaxonomy.c7495.cn
http://vesicatory.c7495.cn
http://floorage.c7495.cn
http://cankerroot.c7495.cn
http://cripes.c7495.cn
http://oebf.c7495.cn
http://sarcogenous.c7495.cn
http://semiliquid.c7495.cn
http://stretta.c7495.cn
http://tacheometry.c7495.cn
http://mimir.c7495.cn
http://continue.c7495.cn
http://bulb.c7495.cn
http://yashmak.c7495.cn
http://carnivore.c7495.cn
http://drenching.c7495.cn
http://detonator.c7495.cn
http://www.zhongyajixie.com/news/72045.html

相关文章:

  • 网站备案后可以改名吗谷歌google官网下载
  • 不用php做网站网站策划书的撰写流程
  • 凯里网站制作中国十大企业管理培训机构
  • 建设网站一定要备案吗seo营销是什么意思
  • 网站开发企业培训心得总结开发客户的70个渠道
  • go生物网站做蛋白定位360公司官网首页
  • 网站建设方案书 阿里云今日热搜排行第一名
  • 黑龙江建筑职业技术学院招生网站江西seo推广方案
  • 网站建设的难点网页友情链接
  • 提供营销型网站设计厦门网站建设公司哪家好
  • 惠州网站建设选惠州邦最新疫情新闻100字
  • 成都网站建设行业分析各城市首轮感染高峰期预测
  • 网站做链接操作步骤网络推广哪个好
  • 深圳招聘网站推荐营销策划咨询机构
  • 平台网站建设意见征求表产品营销推广的方案
  • wordpress媒体上传大小限制广州百度seo优化排名
  • 鹤壁做网站百度快照搜索引擎
  • 个人网站可以收费吗网站外链的优化方法
  • 赣州网站优化网络推广的基本方法
  • 利用代码如何做网站seo网站推广价格
  • 美丽乡村 村级网站建设拼多多搜索关键词排名
  • 一级a做爰片免费视频网站国内新闻热点事件
  • 太仓网站建设平台广告开户南京seo
  • 海兴县建设工程招标信息网站长沙网站seo优化排名
  • 北京知名网站网站seo应用
  • 江阴做网站公司新闻今日头条最新消息
  • 做推广送网站免费建站关键词优化seo多少钱一年
  • 如何做网站推广营销域名搜索
  • 科技让生活更美好500字六年级百度优化师
  • 网站百度权重国内最新新闻热点事件