软件设计
一个同事,我已经提出了编码风格的冲突。我们都从一个界面开始说: 界面IMessageList { void AddMessage(IMessage message); void RemoveMessage(IMessage message); } 我将使用该界面的方式是我将一个类实现它: //方法1 class SomeClass:IMessageL
..
我使用实体框架为一个相当简单的问题跟踪应用程序。 我想向用户提供通过添加其他属性来扩展“问题”实体的功能,例如: 数字字段 文本字段(简单或富文本) 不同的列表(multiple \ single select) 布尔属性 我想到了两种完成任务的方法: 可扩展数据库方法 这是方法只是想法,我不知道如何实现使用实体框架,所以我会非常像你的帮助 这是基本的概念:
..
有一种设计模式的结构是这样的。 B拥有对A的引用,并且还使用A进行一些工作,并且进一步地,层次结构B中的每个子类在层次结构A中的子类上继承以进行其工作。 它的代码看起来像 https://codereview.stackexchange.com/questions/ 12412 /两个相关层次的类 解决方案 这是一个并行继承层次结构, 有关 Ward's Wiki的讨论以及可能值得
..
我做了很多“设计自己的____”应用程序。 我做的是使单个类保存用户选择的所有自定义。例如:当你选择你想要的东西,它会更新一个单一的getter / setter为绿色。然后当应用程序需要知道选择了什么颜色时,它会从相同的getter / setter获取信息。 我曾经这样做的方式是将信息存储在UI中(只是检查什么颜色是从下拉列表中选择)。 在阅读了关于MVC(我仍然不完全理解M
..
我不知道我经常使用的这种模式是否常见,并有一个名称: 一个算法是一个类 其参数通过类 的构造函数传递,调用无参数运行方法触发器 通过调用getter方法获取结果 一个示例(在Python中为了简单起见): class MyAlgorithm: def __init __(self,input,param1, param2): self.param1 = param
..
为了配置,我正在维护一个利用提供者模式的Web应用程序,如下所述。 http:/ /msdn.microsoft.com/en-us/library/ms972319.aspx http://msdn.microsoft.com/en-us/library/ms972370.aspx 一切都已经工作正常,但随着我们为应用程序添加功能,我们发现我们的提供商已经成为不属于一起的几个不
..
我应该为游戏生活问题提出解决方案。我决定通过门面设计模式实现。 生活的游戏是一个有趣的0玩家游戏,其中定义了宇宙,并以死亡和活着的细胞模式开始。那么这个宇宙的演变是通过反复应用一些规则来观察的。请查看维基链接的详细信息。 我创建了两个课程: 宇宙类。这个类保持了整个宇宙状态的标签。哪些细胞是“死的”,哪些细胞是“活的”。这是我的控制类。 细胞类:这个类将生命游戏的规则适用于
..
当前系统: 我正在开发一个多层次的项目,如下所示(in我正在学习并试图在EF数据库上实现具有UOW的Repo模式。 服务(Web API) 业务(C#类库) 存储库(Repo Pattern + UOW) ViewModels(由我的服务使用发送到我的UI层) 数据(实体) 数据库(SQL Server) 存储库: 通用存储库: public interf
..
我正在编写一个客户端程序来控制一个服务器,从而控制一些大的硬件。服务器需要接收命令来初始化,启动,停止和控制硬件。 从客户端到服务器的连接是通过TCP或UDP套接字。每个命令都使用SCADA协议(例如Modbus或DNP3)封装在适当的消息中。 初始化阶段的一部分涉及将一系列命令从客户端发送到服务器。在某些情况下,命令之间必须有几秒钟的延迟,以防止同时初始化多个子系统。延迟的值取决于命
..
我正在忙于一个新的项目,正在我的存储库层。这将是我使用存储库模式的第二个项目。我一直在阅读Scott Millett的书籍专业ASP.NET设计模式在引用本书中的案例研究时,Scott在他的存储库界面中使用了查询对象模式。在我以前的项目中,我使用LINQ来实现这一目的,并且运行良好。 我的问题如下:使用查询对象的优缺点是什么?模式实现与您的存储库中使用LINQ 以下是两种方案,说明了两
..
使用TCL,我想实现类似策略模式的功能。我想通过TCL功能打印输出的“策略”,所以我可以轻松地在打印到屏幕之间切换并打印到日志文件。在TCL中最好的方式是什么? 解决方案 TCL允许您将过程的名称存储在变量中,然后使用该变量调用过程;所以 proc A {x} { puts $ x } set strat A $ strat Hello 将调用pr
..
我正在使用在这个SO问题的答案中找到的存储库模式: 即,每个存储库都继承自包含通用方法(如add,delete等)的抽象基类,并且还为该存储库/实体唯一的任何方法实现了特定的存储库接口。 p> ie。 public class CompanyRepository:Repository,ICompanyRepository { ... }
..
我正在设计一个系统,在那里我得到一堆输入,这些输入被处理以产生一些持续的输出。 说我需要做一些验证请求,我应该如 选项1: 验证器validator = new Validator(); validator.validate(request); 或 选项2: p> 验证器验证器=新的验证器(请求); validator.validate
..
我有两个数据模型由以下类别表示: 1) ImagesSet - 拥有 2DImage的对象,每个 2DImage 有自己的位置(原点( 3DPoint ),x-,y-轴( 3DVector )和尺寸沿x和y轴(以像素为单位)),但相同的像素大小(例如mm),x轴和y轴之间的角度(90度) 对象具有以下方法(伪代码): AddImage(2DImage); RemoveImage
..
这是否是一个合法的工具,还是一个拐点,我将最终成长为需要? 更新:按操作顺序我的意思是: 启动应用程序 阅读prefs 从prefs计算值 写入文件... 现在,当我无法可视化程序流程时,我会在方法级别以及应用级别中绘制图表。 解决方案 我一直使用流程图来绘制操作顺序。 如果你的意思是“操作顺序” “程序的整体数据流”的感觉,那么流程图是绝对必须的。有一些图表
..
据了解,在访问者模式的典型规范中,被访问对象决定如何遍历,通常它们只支持一个遍历顺序。 (例如,参见此处或这里。) 是否有同样使用双重调度的名称,但访问者访问决定如何遍历对象层次结构?在我的应用程序中,非常异质的文件模型类型集合正在推动访问者,例如出口业务。不过,似乎很难说,各种处理器(访客)都应该遍历,比如说一个宽度一级的顺序。其中一些可能只关注模型的一个子集,或者可能需要以特定的排序来处
..
我有一个具有以下业务规则的项目分配域 当新员工被分配到一个项目时,总支出应该不超过预算金额。 对于员工,总分配百分比不应超过100% 我创建了如下所示的实体,在 C#中创建。 QUESTION 分配逻辑分为两类 - Project和Employee... List 作为参数传递给Allocate方法,而不是添加为类的属性...是正确的方法,还是需
..
这是我最近一直需要做的一件常见的事情,我正在寻找任何常见的模式,使其更容易一些。 这一切都是我有一些数据模型,它们被建模以满足ORM,并且纯粹对对象进行CRUD操作。这些模型目前通过存储库/工厂(取决于它的C或RUD)是否暴露。 然后我有一个视图模型,这是一个更可读的,洒上UI的关注点,例如视图之间的验证和映射数据(这是一个ASP.MVC场景,但这种情况可以抽象到大多数情况)。
..
我正在创建一个网站,并将Linq作为数据访问层使用,我愿意使网站能够同时处理linq到sql和ado实体框架,而不改变其他层面的许多事情:业务逻辑图层或UI图层, 实现此目标的建议模式是什么?你能简单地解释一下吗? 更新 下面的存储库模式将帮助我很多, 我检查了书呆子晚餐网站,并了解了,但我发现这个代码里面: public class DinnersControll
..
我必须开发一个财务应用程序的一部分,它接收两个属性并返回两个结果。在你认为它不是一个类,但是方法之前,我不得不说,我必须坚持:两个用户提供的参数和两个输出。让我们在这个模拟中说明如下: ---------------- | PetWash | | ---------------- | | petWeight |
..