草庐IT

原则上

全部标签

java - compare consistent with equals 是什么意思?如果我的类(class)不遵循这个原则,可能会发生什么?

来自TreeMap的JavaDoc:Notethattheorderingmaintainedbyasortedmap(whetherornotanexplicitcomparatorisprovided)mustbeconsistentwithequalsifthissortedmapistocorrectlyimplementtheMapinterface.(SeeComparableorComparatorforaprecisedefinitionofconsistentwithequals.)ThisissobecausetheMapinterfaceisdefinedinte

python - 完全菜鸟的设计原则?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我已经编程大约一年了,我写的所有东西都有效——从我的角度来看,它写得非常糟糕。我想知道是否有任何(免费的)关于软件设计的好书可以为初级程序员提供一些指导?如果我对软件设计的思维过程有所了解,我认为我不会遇到那么多问题。

构建Kubernetes Operator 的原则

作者|SylvainKalache译者|张业贵构建K8sOperator的最佳实践和应避免的陷阱。Kubernetes(简称K8s)上数据服务的自动化越来越受欢迎。在K8s上运行有状态的工作负载意味着使用Operator。然而,它发展演化到今天已经变得非常复杂,像Operator这样的应用模式和扩展方式对于开发者与运维者而言愈发受到欢迎。但工程师们经常对编写K8sOperator的复杂性感到吃力,这会影响到最终用户。据《2021年K8s数据报告》指出,K8sOperator的质量阻碍了公司进一步扩大K8s占有率。Anynines首席执行官JulianFischer已经构建自动化工具近十年了,他

javascript - Bootstrap、Angular.js 和 Ember.js 中使用的数据属性选项是否与 Unobtrusive Javascript 原则冲突?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我一直被告知将JavaScript与HTML标记分开是一种很好的做法(也就是“不显眼的javascript”)。然而,我发现许多新的流行框架(例如Bootstrap、Angular.js和Ember.js)出现了相反的趋势。有人可以告诉我为什么这不被视为不良做法吗?

php - 如何在 Symfony 2 中为数据库 View 设置实体(原则)

假设我有一个View表。我想从它获取数据到一个实体。我可以(以及如何)创建实体类来做到这一点(不需要保存操作)?我只是想展示它们。 最佳答案 接受的答案是正确的,但我想提供一些您可能想要考虑的额外建议:将您的实体标记为只读。将构造函数设为私有(private),这样只有Doctrine可以创建实例。/***@ORM\Entity(readOnly=true)*@ORM\Table(name="your_view_table")*/classYourEntity{privatefunction__construct(){}}

iphone - 原则上,Android 设备是否可以通过蓝牙/GameKit 与 iPhone 交互?

(我对纯理论不感兴趣,但作为一种近期或中期的实用可能性,比如在12-24个月内。)作为熟悉(但不专攻)两个主要智能手机平台的开发人员,我是否应该期待一个Android库的出现,它可以将自己欺骗到iPhone应用的基于GameKit的网络上。平台之间的蓝牙接口(interface)可能会为开发有用的应用程序创造机会,这似乎是合理的,就像调制解调器通过梅特卡夫定律使PC/Mac平台受益一样。我正在寻找两个答案之一:这显然不太可能(例如因为加密)?如果是这样,原因是什么?原则上是否可行,但需要多年的逆向工程(如SMB/CIFS/Samba)?或者它是一个不费吹灰之力的,只是时间问题?请提供证

c++ - C 的 SOLID 原则实现

我知道SOLID原则是为面向对象的语言编写的。我在书中找到:RobertMartin的“嵌入式C的测试驱动开发”,本书最后一章中的以下句子:“应用开闭原则和Liskov替换原则使设计更加灵活。”因为这是一本C的书(没有c++或c#),所以应该有一种方法来实现这些原则。在C中实现这一原则是否存在任何标准方法? 最佳答案 开闭原则指出,一个系统应该被设计成对扩展开放,同时保持对修改的封闭,或者它可以在不修改的情况下使用和扩展。Dennis提到的I/O子系统是一个相当常见的示例:在可重用系统中,用户应该能够指定如何读取和写入数据,而不是假

c++ - 访客模式+开放/封闭原则

是否可以实现VisitorPattern尊重Open/ClosedPrinciple,但仍然可以添加新的可访问类?开放/封闭原则指出“软件实体(类、模块、函数等)应该对扩展开放,但对修改关闭”。structConcreteVisitable1;structConcreteVisitable2;structAbstractVisitor{virtualvoidvisit(ConcreteVisitable1&concrete1)=0;virtualvoidvisit(ConcreteVisitable2&concrete2)=0;};structAbstractVisitable{vir

node.js - Node.js + Express.js 应用的错误处理原则?

Node.js+Express.js中的错误报告/处理似乎有所不同应用程序与其他框架相比。我是否正确理解它的工作原理如下?A)检测错误,方法是接收它们作为回调函数的参数。例如:doSomethingAndRunCallback(function(err){if(err){…}});B)报告MIDDLEWARE中的错误,方法是调用next(err)。示例:handleRequest(req,res,next){//Anerroroccurs…next(err);}C)报告ROUTES中的错误,方法是抛出错误。示例:app.get('/home',function(req,res){//A

python - OO 设计原则是否适用于 Python?

似乎许多OO讨论都使用Java或C#作为示例(例如HeadFirstDesignPatterns)。这些模式是否同样适用于Python?或者如果我遵循设计模式,我最终会用Python编写Java(这显然是一件非常糟糕的事情)吗? 最佳答案 最大的区别在于Python是鸭子类型的,这意味着您不需要像在Java中那样详细地规划类层次结构,并且具有一流的函数。例如,当您可以只传入一个函数而不是为了模拟高阶函数而必须制作接口(interface)等时,策略模式变得更加简单和明显。更一般地说,Python具有许多常见设计模式的语法糖,例如迭代