标签: conceptual

Facade模式是否违反了SRP?

SRP负责人说:

一个类或模块应该只有一个改变的理由

我有一些Facade类作为我的服务层类.例如SaleService,它提供了一些方法,例如SaveOrder(),CancelOrder(),CreateOrder(),GetAllOrders(),GetAllPlannedOrders(),...

我只是因为他们的概念关系而把它们放在一起.
使用这种方法的类可能有多个改变()的原因,违反了SRP吗?如果是的话,我该如何处理这个问题呢?

design-patterns single-responsibility-principle facade conceptual service-layer

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

JS如何既非阻塞/异步又是单线程的?

我无法想象Javascript如何既可以是单线程又可以在客户端上不阻塞。我一直在想像流水线:

  • 在代码执行开始时,您只有一条装配线,将不同的零件组装到汽车上。

  • 达到完工率的20%时,需要添加引擎,但是尚未组装引擎。

  • 而不是等待引擎组装,组装线被分解成两条组装线-两个螺纹,对吗?

  • 1号线继续组装汽车的其他零件。

  • 2号线开始组装发动机。

  • 2号线完成引擎的组装后,将返回1号线并添加引擎。

  • 根据发动机的组装速度,此时1号线的完工率为30%,完工率为99%,依此类推。

这就是我设想的非阻塞,异步代码的方式。1号线的主线程可以继续前进,而不必等待2号线先完成。但是这种组装线的隐喻需要两条组装线或两个线程,但是JS是单线程的。

所以现在我很困惑。

javascript concurrency asynchronous conceptual

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

自定义php模板引擎:我终于走上了正轨吗?

因为我一直很晚才回答标记php的问题,我实际上知道答案,我想我会尝试自己提问.

我已经在php中对自定义模板引擎进行了如此多的完整重写,这么长时间以来,我以为我会征求意见.

简而言之,这是我迄今为止实施的最重要的部分:

  1. 任何http请求都被路由到handler.php
  2. 根据请求的URL,实例化控制器并调用该控制器上的方法.
  3. 控制器方法必须返回IView兼容的类实例(IView定义Render()方法)
    1. 模板引擎为每个以'serverside'结尾的命名空间执行一些xpath sprintf('//%s:*[@runat="server"]', $namespaceprefix )
    2. 对于每个找到的标记,它查找由标识的php类$tag.localName并实例化一个并将其附加到原始模板.
    3. 连接后,原始模板节点将被送入"ServerTag",以便正确初始化
    4. 完全完整的IView兼容实例被分配给控制器方法中的临时变量.
  4. 控制器要求将数据从Model类推送到视图,该视图执行一些漂亮的xpath DOM替换.
  5. 控制器将完全填充的视图返回给main()处理程序,处理程序将呈现它.

我的模板基于xml.一个简单的模板目前看起来像:

<html xmlns="http://www.w3.org/1999/xhtml" 
  xmlns:red="http://www.theredhead.nl/serverside">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Title will be filed by the View depending on the Controller</title>
    <link rel="stylesheet" type="text/css" href="/Stylesheet/Get/Main/" />
</head>
<body>
    <!-- the entire body may be reset by the view using it, using XPath and DOM functions -->
    <!-- Usually the PageHeader and PageFooter would be …
Run Code Online (Sandbox Code Playgroud)

php xml template-engine conceptual

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

面向对象语言中的继承概念

我和我的一个朋友正在讨论多重继承与单继承,并且发现,我的面向对象设计的概念与他的完全不同.我主要是一个Obj-C程序员,因此我不会每天使用多重继承.他主要是Windows/PSP下的C++程序员,所以我们可能每天都使用不同的概念.

他实际上带来了以下主题:一个新的人类继承了什么?

我的观点是会有一个人类,新的存在会从该类中继承并从他的两个父母那里获得一些实例变量(例如他的DNA和其他).

他的观点是,孩子将继承他的两个父母,以获得他父母的方法.

而现在我有点困惑,因为老实说......继承对象?是否继承用于从包含特定对象组共有方法的类继承?这个论点真的让我困惑不已.

oop inheritance conceptual

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

URL重写/路由(mod_rewrite)是否真的是框架所必需的?

我多年来一直在编写PHP代码.现在我有很多可重复使用的模块 - 至少对我来说.典型的老式开发者:D.但现在几乎每个人都使用烘焙的即时框架,而且我的模块不再可重复使用 - 在某种程度上.大多数当前着名的框架,如CI,Zend,Cake等,以及应该更简单的微框架,如Fat-free,Silex,MicroMVC等,都采用称为URL路由/ URL重写等方法.

但是......你认为这种奇特的 URL路由真的是必要的吗?

让我们考虑一下:

  • 处理这种复杂性的奇特方法需要做多少工作?正则表达式解析使用相对较重的计算不是吗?它是不是很好吃?
  • 我们多久写一次URL地址/手动输入?而不是单击书签和/或超链接?
  • 它真的对搜索引擎友好吗?我的意思是搜索引擎索引URL参数不行吗?
  • 为什么谷歌,Facebook等大型网站仍在使用"路径?var1 = val1&var2 = val2&..."?
  • 不同Web服务器上的不同设置如何?阿帕奇/ IIS/Nginx的/ Ligthy?比如将.htaccess移植到web.config和另一个?? 它不是比更多解决方案更多的问题吗?(用于调试等)

你怎么看?我们应该继续使用那种花哨的 URL路由吗?或者我们最好用[更简单的]请求参数回到[web]性质?任何回复赞赏.

php frameworks url-routing conceptual

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

实现WF4工作流程恢复没有书签

有没有其他方法可以在某些状态(状态机)上恢复工作流程而不使用bookMarks

谢谢,

.net conceptual workflow-foundation-4

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

C中的realloc - 确切的行为和用法

阅读一些文献,我能够掌握realloc一个void指针和一个大小变量,并重新分配void指针所指向的块的内存.

  • 如果realloc在具有int *字符大小的整数指针()上调用会发生什么?反之亦然.

  • 这有什么可能的应用?(一个例子肯定会有所帮助.)

c conceptual dynamic-memory-allocation

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

Java中的模数

我想%在Java中包含模数的等式中得到未知数的值

例如:

x % 26 = y如果我有价值y我怎么能得到x

java conceptual modulus

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

Smalltalks 运行时状态

对于 Javascript,存在解释运行时状态的优秀介绍:http : //latentflip.com/loupe/

对于 Smalltalk,我从未找到类似的关于运行时和图像快照结构的概述。

据说 Smalltalk 图像由可以相互发送消息的对象组成。这会产生很多问题:

  • 一次只有一个物体处于活动状态吗?

  • 是否有启动指定“进程”对象的“根调度程序”?

  • 每个暂停的图像是否都有活动对象的列表?

  • 如果两个活动对象向第三个对象发送消息会发生什么?

  • 一次只能处理一条消息吗?“原子性”的级别是什么?

  • 两个活动对象如何通信?

  • 是否每个对象都有一个接收到但尚未处理的消息的“收件箱”?

  • 每个对象都有一个事件循环吗?

smalltalk runtime conceptual pharo

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

需要了解string.count()函数的功能

我试图理解string.count的功能基本上它的文档定义是

string.count(s,sub [,start [,end]])
返回字符串s [start:end]中substring sub的(非重叠)出现次数.开始和结束的默认值以及负值的解释与切片的默认 值相同.

现在最后一行的确切含义实际上是大胆的.我做了一些关于这个函数的随机实验

In [19]: a
Out[19]: 'ab'
In [23]: string.count(a,'ab'[1:3])
Out[23]: 1

In [24]: string.count(a,'ab'[1:1])
Out[24]: 3

In [25]: string.count(a,'ab'[-1:1])
Out[25]: 3

In [26]: string.count(a,'ab'[-1:0])
Out[26]: 3

In [27]: string.count(a,'ab'[1:4])
Out[27]: 1

In [28]: string.count(a,'ab'[1:100])
Out[28]: 1

In [29]: string.count(a,'ab'[100:100])
Out[29]: 3

In [30]: string.count(a,'ab'[:])
Out[30]: 1

In [31]: string.count(a,'a'[:])
Out[31]: 1
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释我为什么有时候我得到的结果是1,为什么有时候3这里.总的来说,我需要了解这个功能是如何工作的?

python string conceptual concept

0
推荐指数
1
解决办法
4448
查看次数

找到任意两个函数的交集 - 求解联立方程

想象一下,有两个功能.您需要找到该功能的交叉点.您绝对不想尝试检查所有x值f(x)==g(x).通常在数学中,您可以创建从中派生的联立方程f(x)==g(x).但我认为如何用任何编程语言实现方程式都没办法.
再一次,我在寻找什么:

  1. 求解方程的概念算法.
  2. 同时和二次方程式相同.

我相信应该有一些使用函数派生的解决方法,但我最近在学校学习了派生概念,我不知道如何在这种情况下使用它.

algorithm math intersection conceptual

0
推荐指数
1
解决办法
5036
查看次数

Terse伞概念用于数据验证和标准化?

我想编写一些代码来处理数据验证(例如,"字段X必须是字母数字")和数据标准化(例如,"将字段X强制转换为大写字母").我想要一个包含这两个函数的代码的量规,而不是明显比其中任何一个都简洁(例如,使用ValidationAndStandardization它).一个既定的术语是首选,但发明总比没有好.

language-agnostic architecture terminology conceptual

-1
推荐指数
1
解决办法
61
查看次数

为什么在IF语句中检查void函数时会发生语法错误

如果我写的话会有什么输出

在C++ if(5)中执行没有任何问题但在C#中不会以相同的方式运行它.

if(func()){} //in C# it doesn't runs Why how does C# treats void and how in Turbo C++

void func()
{
return;
}

if(null==null){}//runs in C#
Run Code Online (Sandbox Code Playgroud)

编辑

if(printf("Hi"){} //will run and enter into if statement

if(printf(""){}//will enter into else condition if found.
Run Code Online (Sandbox Code Playgroud)

本课题不适用于那些不了解Turbo Compiler的人

c# c++ casting conceptual void

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