加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何简化代码?

发布时间:2020-12-15 19:58:57 所属栏目:百科 来源:网络整理
导读:我刚刚在C#/ Silverlight中创建了我的第一个主要应用程序.最后,总行数超过12,000行代码.考虑到这是一个php / javascript应用程序的重写,我创建了2年,超过28,000行,我实际上为我的成就感到自豪. 在stackoverflow和其他网站上阅读了很多问题和答案之后,我遵循
我刚刚在C#/ Silverlight中创建了我的第一个主要应用程序.最后,总行数超过12,000行代码.考虑到这是一个php / javascript应用程序的重写,我创建了2年,超过28,000行,我实际上为我的成就感到自豪.

在stackoverflow和其他网站上阅读了很多问题和答案之后,我遵循了许多海报的建议:我创建了一些课程,程序等,这些都是我一年前复制和粘贴的内容;我创建了逻辑图表以找出复杂的功能;确保没有疯狂的隐藏字符(使用标签代替空格);和其他一些事情;必要时发表评论(我有很多评论).

我的应用程序包含4个水平布局的图块,用户控件加载到每个图块中.您可以随时加载一到四个切片.如果你有一次切片加载,切片占用整个画板…如果你有2个加载,每个占用一半,3个三分之一,4个四分之一.

这些切片中的每一个代表(为了该示例)光控制.每个切片中都有3个滑块控件.现在,当我编写滑块的功能时,我在公共函数内部使用了一个switch / case语句,该语句将在指定的切片/滑块上运行命令.这使得一些重复的代码,但我看不到它,因为每个切片的命名不同.所以我会做slice1.my.commands(); slice2.my.commands();等等

我的问题是如何进一步清理我的代码? (可悲的是我无法发布任何代码).有没有办法从我的代码中取消这个重复?

解决方法

你需要的是与你的朋友的战略模式的接口.例如:

public interface ISlice 
{
    public Slider Slide {get;set;}
}

public class Slice1 : ISlice 
{
    public Slider Slide { get; set; }
}

public static class SliceSlider
{
    public static void DoSomethingCoolWithTheSliceSlide(ISlice slice) 
    {
        slice.Slide.LookitMeIAmLearningDesignPatterns();
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读