class-design相关内容
我在ShareKit中遇到了这段代码,但我不理解作者在类方法中使用 self 的想法。有一个警告:不兼容的指针类型会将“ Class”发送到参数类型 id 。 我想清除这些警告,以便以后可以看到可能会造成伤害的警告。我能/应该做些什么不会破坏这个? 这是文件SHKFacebook.m,类名是SHKFacebook +(void)注销 { F
..
我试图创建一个传递参数 x 并返回新类 C 的函数。 C 应该是固定基类 A 的子类,仅添加一个:添加特定的类属性,然后设置为等于 x 。 换句话说: C类(A): Cp = x#x是传递给工厂函数 的参数 这容易做到吗?我应该注意什么问题吗? 解决方案 首先,请注意,“类工厂”一词在某些情况下已过时蟒蛇。它用于C ++之类的语言中,用于返回动态类型的类实例的函
..
我有一个很大的“经理”类,我认为它做的太多了,但是我不确定如何将其划分为更多的逻辑单元。 一般来讲,该类基本上由以下方法组成: 类FooBarManager { GetFooEntities(); AddFooEntity(..); UpdateFooEntity(..); SubmitFooEntity(..); GetFooTypes(); GetBar
..
我刚刚重构了一个大致像这样的同事的代码... public class Utility public void AddHistoryEntry (int用户ID,HistoryType历史类型,int公司ID) { //做某事... } public void AddHistoryEntry(int userID,HistoryType historyType,int公司ID
..
我对客观分析感兴趣,因为后者表现更好;调用单例类的实例方法或静态类的方法。我已经看过这,所以我我不是在寻找关于两者之间差异的讨论,而不是在讨论“更好”。我只对两者之间的相对表现感兴趣。 -迈克 解决方案 检查此图表: ) 从这篇文章
..
我当前正在修改具有9个不同构造函数的类。现在总的来说,我相信这个类的设计很糟糕……所以我想知道对于一个拥有如此多构造函数的类来说,这是否是一个糟糕的设计。 之所以会出现这个问题,是因为我最近在该类中添加了两个构造函数,以尝试重构和重新设计一个类(下面的代码中为SomeManager),以便它可以进行单元测试,并且不依赖于其每个方法都是静态的。但是,由于其他构造函数很方便地隐藏在班级开始下方约
..
我对C ++类结构感到困惑。 我有一个.h名为FxMathFunctions.h和一个.cpp名为FxMathFunctions.cpp .h开始于: class FxMathFunctions { public: FxMathFunctions(); 〜FxMathFunctions(); 和.cpp I有: #includ
..
背景: 我设计了一个 TableViewDataSource 类,该类为 UITableViewDataSource 和 UITableViewDelegate 。实例化 TableViewSection 对象,这些对象将传递到 TableViewDataSource ,用于配置单元格,节标题,句柄选择,行插入等。 TableViewSection 对象具有名为 dataSource的
..
我是编程的初学者,当我开始编写代码时,我才开始编写并解决问题。 我在单个主函数中编写了整个程序。 我不知道什么时候上课和上课。 我读了哪些好书来学习这些概念? 解决方案 一个非常普遍的问题,因此只需遵循以下几条经验法则即可: 代码重用:当您在两个地方有相同或非常相似的代码段时,应将其移至一个函数 可读性:如果一个功能跨越屏幕上的单个页面以上,您可能需要将其分解为几个功
..
在大学里,我有很多设计和 UML 面向课程,我认识到UML可以用于使软件项目受益,尤其是用例映射,但这真的可行吗?我已经完成了一些合作工作条款,而且看来UML在行业中并未得到广泛使用。在项目期间创建UML图值得吗?另外,我发现类图通常没有用,因为查看类的头文件只是更快。具体来说,哪些图表最有用? 编辑:我的经验仅限于10个以下的小型开发项目。 编辑:许多好的答案,尽管不是最冗长的,但我
..
我只是想简化我的一门课,并以与 flyweight设计模式。 但是,为什么总是 __ init __ 有点困惑在 __ new __ 之后调用。我没想到这一点。谁能告诉我为什么会这样,否则我如何实现此功能? (除了将实现放到 __ new __ 中,这感觉很hacky。) 这里有个例子: A类(对象): _dict = dict() def __new __(cls):
..
我有2个类: DataObject 和 DataElement 。 DataObject 保存指向(仅) DataElement s和 DataElement 包含指向几种类型的指针,其中包括 DataObject 。 这以前没问题,因为我仅使用指向 DataElement 中的 DataObject s的指针,因此 DataObject DataElement 的标题中的c $ c>就足够
..
我一直在努力防止用户使用没有智能指针的类。因此,强制它们具有由智能指针分配和管理的对象堆。 为了获得这样的结果,我尝试了以下操作: #include< ; memory> class A { private: 〜A {} // //仅在std :: unique_ptr 朋友std ::强制使用A default_delete
..
我在类a中放置了类b的几个实例,但这会导致错误,因为类a不知道类b是什么。 现在,我知道我可以通过将文件b a c写入文件来解决此问题,但是这不仅影响了可访问性,而且使我感到烦恼。我知道我可以原型化我的函数,所以我没有这个问题,但是找不到关于如何原型化类的材料。 没有人有c ++中的类原型示例。 因为似乎有些混乱,让我向您展示我想要的东西 class A { pub
..
我想为类名创建一个别名。以下语法将是完美的: 公共类LongClassNameOrOneThatContainsVersionsOrDomainSpecificName { ... } 公共类MyName = LongClassNameOrOneThatContainsVersionOrDomainSpecificName; ,但不会编译。 示例
..
这是关于Startup类背后的设计原理的说明: https://docs.microsoft. com/en-us/aspnet/core/fundamentals/startup?view = aspnetcore-2.1 我知道该类需要包含ConfigureServices或Configure之类的方法. 为什么CreateDefaultBuilder(args).UseSt
..
我的问题是: 何时应使用值类型以及何时应使用引用类型? 一个人相对于另一个人的优点和缺点是什么? 如果人们到处都使用引用类型怎么办?有什么害处吗? 还请讨论每个优点和缺点.我也想了解这一点. 解决方案 对此似乎有很多困惑,乔恩·斯凯特(Jon Skeet)在他的著作"C#In Depth,2nd Ed."中做了很好的清理工作. " (第2.3节). 我个人的方法(可能
..
我想要一个简单的类,该类实现固定大小的 圆形缓冲区 .它应该是高效的,易于识别的通用类型. 现在,它不必具有MT功能.我以后总是可以添加一个锁,无论如何它不会是高并发的. 方法应该是:.Add(),我猜是.List(),我在其中检索所有条目.再次考虑,我认为应该通过索引器进行检索.任何时候我都希望能够通过 index 检索缓冲区中的任何元素.但是请记住,从一瞬间到下一个Element
..
在这个线程中,我发现了一些有趣的时刻,如果类仅用作超类,则没有规则使其抽象。为什么这样? 谢谢 解决方案 这完全取决于是否。 假设您有一个 Dog 和一类 Cat 。它们都扩展了 Animal 。现在 Animal 可能有一个名称和一些方法,但是运行 Animal 却没有任何意义。周围。 动物是...很抽象的概念。 在其他情况下,您可能会有子类( LinkedHashSe
..
在PHP 5中,使用const和static有什么区别? 什么时候合适? public,protected和private扮演什么角色-如果有的话? 解决方案 在类的上下文中,静态变量在类范围(而不是对象)范围内,但是与const不同,可以更改其值. /p> class ClassName { static $my_var = 10; /* defaults to pub
..