伙计们,我正在编写一个应用程序的GUI,一个插入cd的cd容器,目前我不是很清楚,我想我需要一些帮助来澄清我对面向对象设计的理解.
所以,首先,我使用观察者模式来构建抽象的Model和View类,以及具体模型(cd容器)和具体视图(cd容器视图).然后我开始使用wxwidget框架设计和图形外观或布局(CDContainerWidget,来自wxPanel)为cd容器和其他gui控件MainFrame(来自wxFrame)等.
所以现在我有三个类:CDContainerModel(cd容器),CDContainerView(观察者模式的类)和CDContainerWidget(gui控件).然后我不清楚我应该怎么做CDContainerView和CDContainerWidget?
我认为CDContainerWidget和CDContainerView都需要CDContainerModel.我想了四种方法,但不知道哪一种是合适的:
1).将CDContainerWidget作为成员变量关联到CDContainerView中,然后将CDContainerView作为成员变量放入主框架中.
class CDContainerView:
def __init__:
self.gui=CDContainerWidget
class MainFrame:
def __init__:
CDContainerView
Run Code Online (Sandbox Code Playgroud)
2).CDContainerView子类CDContainerWidget:
class CDContainerView(CDContainerWidget):
class MainFrame:
def __init__:
CDContainerView
Run Code Online (Sandbox Code Playgroud)
3).CDContainerWidget子类CDContainerView:
class CDContainerWidget(CDContainerView):
class MainFrame:
def __init__:
CDContainerWidget
Run Code Online (Sandbox Code Playgroud)
4).而不是使用CDContainerWidget和CDContainerView,只使用单个类CDContainerBig,它是抽象类View和wxPanel的子类
class CDContainerBig(View, wxPanel)
Run Code Online (Sandbox Code Playgroud)
我的问题是什么是正确的解决方案?我已经阅读了MVC模式的维基页面,但我并不真正理解它的描述,也不知道如何并且也不知道将它应用于我的问题是否合适.
好吧,我补充一些评论.最初,当我开始设计编程时,我没有多想,只是选择,2)方法.但现在,我认为3)是好的.因为将widget放在widget中是合理的(CDContainerWidget放入MainFrame).但我不太确定.此外,它似乎与观察者模式,三个类扭曲和awkard.有时,在我看来,这4个可能是相同的,只包括谁或谁向谁发送信息.好吧,我想我真的需要澄清这一点.
另外,我赞成3)因为实用点.CDContainerWidget实际上包含几个子窗口小部件组件(按钮,输入框等),如果我们通过子组件小部件改变设置新值,那么对于1),我们需要CDContainerWidget来了解CDContainerView,让CDContainerView通知其他视图.2)更糟糕的是,CDContainerWidget必须知道它的儿童CDContainerView.3)CDContainerWidget本身就是CDContainerView,所以非常合理.4)好,容易,但没有逻辑分离.这是我自己的想法,不知道是不是正确的.
谢谢!!
我想将UIImage对象转换为CVPixelBufferRef对象,但我绝对不知道.而我找不到任何示例代码做这样的事情.
有人可以帮帮我吗?THX提前!
C YA
在TextMate中,有谁知道如何查找和替换所选文本?
有没有办法从HTTPS站点获取搜索结果的脚本而不是 http://www.google.com/afsonline/show_afs_search.js
我在HTTPS网站上使用自定义Google商家搜索.提交搜索时,Web浏览器会显示警告:
"This page contains both secure and nonsecure items"
Run Code Online (Sandbox Code Playgroud)
我试图修改源,https://www.google.com/afsonline/show_afs_search.js但这不起作用.从该链接返回的JavaScript仍然连接到http链接而不是https链接.
有谁知道如何解决这个问题?
我试图想象点语言中一个相当复杂的结构.因为记录很大,我想用多行来编写代码.所以代替:
A11[label="A.11 Access Control|{A.11.1 Business requirements for access control|A.11.2 User access management}|{A.11.3 User responsibilities|A.11.4 Network access control}|{A.11.5 Operating System access control|A.11.6 Application & information access control}|A.11.7 Mobile computing & teleworking"];
Run Code Online (Sandbox Code Playgroud)
我想进入它有点像这样
A11[label="A.11 Access Control|
{A.11.1 Business requirements for access control|A.11.2 User access management}|
{A.11.3 User responsibilities|A.11.4 Network access control}|
{A.11.5 Operating System access control|A.11.6 Application & information access control}|
A.11.7 Mobile computing & teleworking"];
Run Code Online (Sandbox Code Playgroud)
不幸的是,dot的解析器抱怨"字符串运行过去的行结束"或类似的东西.有谁知道如何在代码中表示换行符?我尝试了\最后一行,但它似乎没有用.
提前致谢
我想在表格单元格中显示这么多图像.我知道两种显示图像的方法.
一个是为UIImageView创建一个实例并显示它
CGRect rect=CGRectMake(x,y,width,height);
UIImageView *image=[[UIImageView alloc]initWithFrame:rect];
[image setImage:[UIImage imageNamed:@"sample.jpg"]];
Run Code Online (Sandbox Code Playgroud)
另一种方法是,
CGRect rect=CGRectMake(x,y,width,height);
[[UIImage imageNamed:@"sample.jpg"] drawInRect:rect];
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是,这两者有什么区别?哪一个有效?还是有其他功能比这更好?
提前致谢....
我正在尝试设置Git来暂存我的网站,以便我可以git pull让当前版本在本地工作,然后git push将更改推送到远程服务器.我已经设置它以便按照我想要的方式工作,但是在我推动之后,我必须手动运行git checkout -f或git reset --hard HEAD在远程服务器上运行.
我已经尝试将这些作为服务器上的post-receive挂钩添加到shell脚本中,但它似乎没有任何效果.我知道脚本正在运行,因为我在推送后看到"更改推送到服务器".这是post-receive钩子:
#!/bin/sh
git reset --hard HEAD
echo "Changes pushed to server."
Run Code Online (Sandbox Code Playgroud) @"/News/some news text/"
@"/News/some other news text/"
@"/About/Some about text/"
@"/Abcdefg/Some abcdefg text/some more abcdefg text"
Run Code Online (Sandbox Code Playgroud)
如何剪切字符串的第一部分,以便最终得到以下字符串?
@"/News/"
@"/News/"
@"/About/"
@"/Abcdefg/"
Run Code Online (Sandbox Code Playgroud) 我想用Java进行转换:
dd fdas dd fdas fads f das fdasf + - || dasf
into:
"dd""fdas""dd""fdas""fads""f""das""fdasf"+ - || "dasf"
基本上我想在单词周围添加引号.\ w* - >"\ w*\"
我们可以通过查找有节点是要访问的城市的有向图的最小生成树来解决旅行商问题,权重是城市之间的距离吗?定向图只是为了考虑距离(城市-A,城市-B)!=距离(城市-B,城市-A)的情景.