首页 / 设计模式 / c# – 它是哪种设计模式?无法识别
c# – 它是哪种设计模式?无法识别
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 它是哪种设计模式?无法识别,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1423字,纯文字阅读大概需要3分钟。
内容图文
我有一种情况,特别是我必须调用我的方法
订购.这出现在多个地方,所以我想知道是否有一些我看不到的模式.
现在在每一个这样的情况下,我都准备阶段,我根据前提条件执行一些代码,一个行为阶段(我修改我的数据)并保存我将它保存到数据库的阶段.
我现在有这个:
accessRightsService.Shift(document, userRole);
updateService.ApplyChanges(document, newData);
documentRepository.Update(document);
我在考虑像myService.WrapOperation(doc,d => {})之类的东西,它先调用prepare,然后执行动作,然后将结果保存到数据库.
那么,它是一种模式 – 如果是,那是哪一种?
对我来说看起来不像模板方法或装饰器
解决方法:
这与Builder模式非常相似.即使构建器模式声明它用于类实例化,这也可以应用于方法调用.
http://www.blackwasp.co.uk/Builder.aspx
public class Director
{
public void Construct(Builder builder)
{
builder.BuildPart1();
builder.BuildPart2();
builder.BuildPart3();
}
}
public abstract class Builder
{
public abstract void BuildPart1();
public abstract void BuildPart2();
public abstract void BuildPart3();
public abstract Product GetProduct();
}
public class ConcreteBuilder : Builder
{
private Product _product = new Product();
public override void BuildPart1()
{
_product.Part1 = "Part 1";
}
public override void BuildPart2()
{
_product.Part2 = "Part 2";
}
public override void BuildPart3()
{
_product.Part3 = "Part 3";
}
public override Product GetProduct()
{
return _product;
}
}
public class Product
{
public string Part1 { get; set; }
public string Part2 { get; set; }
public string Part3 { get; set; }
}
内容总结
以上是互联网集市为您收集整理的c# – 它是哪种设计模式?无法识别全部内容,希望文章能够帮你解决c# – 它是哪种设计模式?无法识别所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。