小编Kon*_*ine的帖子

ExtJS 4:具有关联和商店的模型

介绍

Ext.data.Model在ExtJS中遇到了类的应用程序设计问题.我会尝试将我的想法发展到一个非常常见的在线商店场景,所以你可以关注我.我非常感谢对我的想法和结论的任何评论!

楷模

假设您想要将" 每个客户可以订购多个产品 " 的事实映射到ExtJS.从裸露的话可以鉴定涉及这三种模式:Customer,Order,和Product.在Order这种情况下就是连接CustomerS和 Product秒.

协会

我发现ExtJS实际上允许您(Customer)1-n(Order)1-n(Product)使用Ext.data.HasManyAssociationExt.data.BelongsToAssociation类指定此关系.但这是人们想要的吗?你想要一个Product永远属于一个Order?如果你想要一个Product没有任何连接的s 列表Order怎么办?

商店

这是它更具特定的ExtJS的地方.在ExtJS中,您可以Ext.data.Store保存所有数据.对我来说,组织我的数据的一种自然方式是Ext.data.Store为每个模型设置一个:

  1. CustomerStore
  2. OrderStore
  3. ProductStore

考虑Ext.grid.Panel并排三个人; 每个商店一个.在一个网格中选择客户时,他的订单会自动显示在第二个网格中.在第二个网格中选择订单时,相关产品将显示在第三个网格中.

这对你来说听起来很自然吗?如果没有,请评论!

将它们整合在一起

所以现在我们需要把三件事情放在一起:

  1. 模特和他们的
  2. 关联(hasMany,belongsTo)和
  3. 数据(StoreS)

是否可以仅从模型 - 模型关系的一侧定义关联?例如,我可以指定一个Order hasMany Product但是省略Product belongsTo一个Order吗?因为一个Product实际上可以属于多个Order.因此,我在下面指定Product …

extjs store data-modeling model-associations

32
推荐指数
2
解决办法
4万
查看次数

使用clang获取类中的方法列表

在常见的IDE(选择一个)中,您经常会有一个大纲视图,显示特定类的方法列表.

假设我有一个C++接口类IFoo.h,如下所示:

#ifndef IFOO_H_
#define IFOO_H_
class IFoo { 
    public:
        virtual ~IFoo() {}
        virtual void bar() = 0;
};
#endif
Run Code Online (Sandbox Code Playgroud)

如何(以编程方式)我可以IFoo.h使用clang库获取上面文件的IDE大纲列表?对于第一次启动,如果我可以获得函数名称列表将会有所帮助.

我特意打算使用clang,所以任何关于如何用clang分析我的头文件的帮助都会非常感激.

同时我将在这里看一下clang教程:https://github.com/loarabia/Clang-tutorial

在此先感谢您的帮助.

c++ parsing clang code-inspection outliner

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

github.com/rs/zerolog 字段的延迟评估

介绍

零日志字段

github.com/rs/zerolog在我的 golang 项目中使用。

我知道我可以使用如下方式将字段添加到输出中:

package main

import (
    "os"

    "github.com/rs/zerolog"
)

func main() {
    logger := zerolog.New(os.Stderr).With().Timestamp().Logger()
    logger.Int("myIntField", 42)
    logger.Info("a regular log output") // this log entry will also contain the integer field `myIntField`
}
Run Code Online (Sandbox Code Playgroud)

但我想要的是在行运行时评估字段logger.Info("a regular log output")的值myIntField是什么。

那个设定

我有一个带有 go-routines 的生产者/消费者设置(例如,请参阅https://goplay.tools/snippet/hkoMAwqKcwj),并且我有两个整数,它们以原子方式计算仍在运行的消费者和生产者 go-routines 的数量。在拆除消费者和生产者后,我想在运行时显示这些数字。

这是使用 log 而不是 Zerolog 时的代码:

package main

import (
    "fmt"
    "log"
    "os"
    "sync"
    "sync/atomic"
)

func main() {
    numProducers := int32(3)
    numConsumers := int32(3)

    producersRunning …
Run Code Online (Sandbox Code Playgroud)

evaluation logging go zerolog defer-keyword

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