社区
Java
帖子详情
用SetProperty,GetProperty和CallFunction封装系统好不好?
bfbd
2003-02-28 09:52:31
我的底层图形库需要对外的接口,
我想用与这种方法来提供系统访问的接口,
但不知此种接口有点和缺点都有哪些,
跟通常的获得类指针,然后访问类方法和属性的这种方式相比,
分别有哪些优缺点,欢迎讨论。
...全文
72
7
打赏
收藏
用SetProperty,GetProperty和CallFunction封装系统好不好?
我的底层图形库需要对外的接口, 我想用与这种方法来提供系统访问的接口, 但不知此种接口有点和缺点都有哪些, 跟通常的获得类指针,然后访问类方法和属性的这种方式相比, 分别有哪些优缺点,欢迎讨论。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bfbd
2003-03-07
打赏
举报
回复
我开了新的帖子,各位可以到那里讨论。
谢谢关注。
http://expert.csdn.net/Expert/topic/1503/1503676.xml?temp=.6794092
bfbd
2003-03-07
打赏
举报
回复
我想这样做的主要原因是Undo/Redo的实现很麻烦:
我以前也是用的Command模式没错,每一个操作都要创建一个新的Command对象,
于是就有一大堆的Command类的继承类。
现在要命的事情来了,我要在程序中实现Undo/Redo就必须了解/知道所有的这些Command对象,
我的应用程序紧紧地与所有具体Command对象相耦合。
大家不觉得这样很不爽,且很危险吗?
我不知有没有更好的方法可以实现此功能。
哪位大虾给指教一二?
freebase
2003-03-05
打赏
举报
回复
类是面向对象一个特点,他用属性的方式封装事物的状态,
SetProperty,GetProperty 这种形式主要体现在对事物属性的安全访问上面。
不是所有的类都一定用这种方式,
比如有些类属与非模态类,这样的类的对外接口基本上都是按功能划分的。
还有一些准模态类的接口也不是这样划分的。
基本上大多数单态类和模态类都使用这种方式。
访问我的网站 www.oodiscovery.com
richardluopeng
2003-03-05
打赏
举报
回复
使用command模式,呵呵
bfbd
2003-03-05
打赏
举报
回复
我的想法是把Redo/Undo的逻辑封装在这个小接口之内,
这样做Redo/Undo就很简单了,直接调用底层接口提供的undo
redo函数就可以了。
不知有没有更好的Redo/Undo实现。
bfbd
2003-03-03
打赏
举报
回复
没有人吗?
哦,太冷清了。
MagicJohn
2003-03-03
打赏
举报
回复
用SetProperty,GetProperty 比较清晰,便于使用,随时设定任意的属性。
但是也有操作麻烦的缺点。
php5 类与对象
php5 类与对象 个人总结与简单的例子,类与对象1. PHP 类与对象 2. PHP 类的继承 extends 关键字 3. PHP 构造方法 __construct() 4. PHP 析构方法 __destruct() 5. PHP final 关键字 6. PHP 类的接口 interface 与 implements 关键字 7. PHP 类的访问控制与
封装
public,protected,private 修饰符 8. PHP 自动加载类 __autoload() 方法 9. 范围解析操作符(::) 10. PHP 类的静态成员属性与静态方法 static 关键字 11. PHP 常量(const) 12. PHP 特殊方法 __
set
()、__get()、__is
set
() 与 __un
set
() 13. PHP 重载 14. PHP 重载方法 __call() 15. PHP 抽象方法与抽象类 abstract 关键字 16. PHP 对象克隆 clone 关键字与 __clone() 方法 17. PHP 对象的存储与传输(序列化 serialize 对象) 18. php 设计模式:工厂模式和单例模式 19.对象对象迭代 20 this关键字
Set
Property
在真实项目中的应用(EF Core批量更新避坑指南)
解决EF Core批量更新性能难题,深入解析
Set
Property
在真实项目中的应用。涵盖批量修改场景、高效使用技巧及避坑要点,提升数据操作效率。掌握核心方法,让更新更简洁可靠,值得收藏。
SparkSQL+Hbase+HDFS实现SQL完全
封装
(二)
注:SparkSQL+Hbase+HDFS实现SQL完全
封装
(二) 是在一的基础上做了一些优化。1.描述:通过读取SQL脚本文件内的SQL脚本,实现在大数据平台中的业务处理,对于没有JAVA或是语言基础的同学来说,通过
封装
完全可以只写SQL就能实现业务的处理。注: 优点:部署后团队其它人员只要会写SQL就行。 缺点:优化方面也只能对写的SQL进行优化2.平台环境Spark:sp...
PHP 和 jQuery 高级教程(二)
要向类中添加数据,需要使用属性或特定于类的变量。这些变量的工作方式与常规变量完全一样,只是它们被绑定到对象上,因此只能使用对象来访问。要将属性添加到MyClassphp?关键字public决定了属性的可见性,这一点你将在本章稍后了解。接下来,使用标准变量语法命名属性,并赋值(尽管类属性不需要初始值)。因为一个类可以存在多个实例,所以如果没有引用单个对象,脚本就无法确定要读取哪个对象。箭头(->)的使用是一个 OOP 结构,它访问给定对象包含的属性和方法。修改test.phpphp。
Android AMS 进阶一
Android AMS 进阶一 Android启动流程 一.Android init进程启动 1.init简介 init是一个进程,他是Linux
系统
中用户空间的第一个进程,而Android是基于Linux内核的。所以init进程也是Android
系统
中用户空间的第一个进程,其进程号为1。它的主要职责是创建Zygote和属性服务等。 2.init进程启动之前 在init进程启动之前还有如下...
Java
51,411
社区成员
86,007
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章