小编Jas*_*tts的帖子

大型应用程序设计(WPF/Silverlight)

除了MVVM以及WPF应用程序整体结构的MVC模式之外,您究竟如何将应用程序的模型/控制器方面分解为子组件?我问的原因是我从上面提到的模式的角度来构建解决方案没有问题,但是当涉及到实际编写后端时; 我觉得我捏造了很多.从用户的角度来看,我最终得到了高质量的应用程序,但我的设计美学不允许我接受这一点.

澄清; 我的许多业务逻辑无法以任何简单或有意义的方式重构为类(或类层次结构,具有所有相关接口),而无需更改整个应用程序.我现在已经专业发展了一年半,所以这可能是一个缺乏经验的问题; 但我觉得它仍然没有任何借口.对此的任何指示都是公开的问题吗?

编辑:代码请求(在Silverlight中) - 以下是-snippet-来自拖放分配应用程序中的mousebuttonup处理程序,该应用程序是更大的应用程序的一部分

我真的不喜欢逻辑是多么直率,并且讨厌它完全无法实现的方式,因为一切都被塞进了事件处理程序.

       //determine if there is a previously existing allocated sale corresponding to this purchase's ID

                SaleWS allocSaleExisting = colltoaddsale.FirstOrDefault(s => (s.p_TRADEID == allocPurch.TRADEID));


                if (allocSaleExisting != null && allocSale.TRADEID == allocSaleExisting.TRADEID)
                {
                    PurchaseWS allocPurchExisting = colltoadd.First(p => p.TRADEID == allocPurch.TRADEID);

                    //allocPurchExisting.AMOUNT += allocPurch.AMOUNT;
                    allocSaleExisting.AMOUNT += allocSale.AMOUNT;


                    allocPurchExisting.AMOUNT += allocSale.AMOUNT;
                    allocPurch.AMOUNT -= allocSale.AMOUNT;


                    colltoaddsale.Remove(allocSale);


                    //colltoadd.Remove(allocPurch);

                }

                else
                {


                    //Create new "split" item in the data source for the source table
                    PurchaseWS splitAllocPurch = …
Run Code Online (Sandbox Code Playgroud)

application-design

6
推荐指数
1
解决办法
1392
查看次数

C#3.0中匿名方法的闭包

为什么匿名方法存在闭包?为什么不直接将状态传递给方法而不会在复制闭包变量的情况下生成新类的开销?这不仅仅是"让一切都变得全球化"的倒退吗?

有人跟我说话,我觉得我在这里错过了一些东西......

c# closures anonymous anonymous-methods c#-3.0

2
推荐指数
1
解决办法
1335
查看次数