Objective-C - 模型的设计

模型的设计

int main()
{
    //新建2个用户
    User *u = [[User alloc] init];
    u.name = @"2B";

    User *u2 = [[User alloc] init];
    u2.name = @"傻B";

    // 新建2条微博
    Status *s = [[Status alloc] init];
    s.text = @"今天天气真好!";
    s.user = u;

    Status *s2 = [[Status alloc] init];
    s2.text = @"今天天气真的很好!";
    s2.retweetStatus = s;
    s2.user = u2;

    [u2 release];
    [u release];
    [s2 release];
    [s release];
    return 0;
}
typedef enum {
    SexMan, // 男
    SexWoman // 女
} Sex;

typedef struct {
    int year;
    int month;
    int day;
} Date;

// 姓名、微博号码、密码、头像、性别、手机、生日

@interface User : NSObject

@property (nonatomic, retain) NSString *name;

@property (nonatomic, retain) NSString *account;

@property (nonatomic, retain) NSString *password;

// http://weibo.com/a.png  URL
@property (nonatomic, retain) NSString *icon;

@property (nonatomic, assign) Sex sex;

@property (nonatomic, retain) NSString *phone;

@property (nonatomic, assign) Date birthday;

@end
@implementation User
- (void)dealloc
{
    [_name release];
    [_account release];
    [_icon release];
    [_password release];
    [_phone release];

    [super dealloc];
}
@end
#import "User.h"

// 微博内容、微博配图、发送时间、微博发送人、转发的微博、被评论数、被转发数

@interface Status : NSObject

@property (nonatomic, retain) NSString *text;

@property (nonatomic, retain) NSString *icon;

// 从1970-01-01 00:00:00 开始,一共度过了多少毫秒
@property (nonatomic, assign) long time;
//@property (nonatomic) time_t time;

@property (nonatomic, retain) User *user;

@property (nonatomic, retain) Status *retweetStatus;

@property (nonatomic, assign) int commentsCount;
@property (nonatomic, assign) int retweetsCount;

@end
@implementation Status
- (void)dealloc
{
    [_text release];
    [_user release];
    [_retweetStatus release];
    [_icon release];
    [super dealloc];
}
@end
时间: 2024-10-10 11:11:30

Objective-C - 模型的设计的相关文章

模型到设计

????? 1,如果设计或者设计中的核心部分没有映射到领域模型,模型就没有什么价值,而软件是否正确也就令人怀疑. ????? 2,模型和设计功能之间的映射如果很复杂,就会很难理解 ,当设计变更了实际上模型是不可能维护的.??????(分析产生的)领域模型和(对领域模型的)设计之间如果出现了致命的分歧,这 样一个活动( 分析或设计) 中产生的想法将无法对另外一个产生好的影响.??????? 从模型中提取出在设计中使用的术语和所分配的职责之后,代码就成了模型的表达方式. ??????? 面向对象编程

ecmall中static变量的使用-model模型代码设计

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 function &m($model_name, $params = array(), $is_new = false) {     <span style="backg

tornado项目之基于领域驱动模型架构设计的京东用户管理后台

本博文将一步步揭秘京东等大型网站的领域驱动模型,致力于让读者完全掌握这种网络架构中的“高富帅”. 一.预备知识: 1.接口: python中并没有类似java等其它语言中的接口类型,但是python中有抽象类和抽象方法.如果一个抽象类有抽象方法,那么继承它的子类必须实现抽象类的所有方法,因此,我们基于python的抽象类和抽象方法实现接口功能. 示例代码: from abc import ABCMeta from abc import abstractmethod #导入抽象方法 class F

消除if-else/switch语句块来聚合模型的设计与实现

写在最前头的话:请不要理解为不再需要if-else/switch.写在最前头的结论:使用Enum. 1, 前言 if/switch这样的分支语句在实际开发中的使用自然是不可避免,但是我们必须承认使用这种分支判断语句实现的代码不仅可读性差(转来转去的绕晕),而且维护代价极高.导致维护代价上升,个人认为地并不是说是由于在开发软件时,开发人员基础不够好或者问题考虑不周全导致的各种漏洞和缺陷,主要原因是没有很好的遵循我们听烂了的软件开发基本原则-高内聚低耦合.在业务系统的开发过程中,大多业务需求都不可能

嵌入式CISC模型机设计

一.     课程设计的题目和内容 题目:设计一台嵌入式CISC模型计算机 采用定长CPU周期.联合控制方式,并运行能完成一定功能的机器语言源程序进行验证,机器语言源程序功能如下: 任意输入5个整数,输出最小负数的绝对值. 二.     系统的总体设计 2.1 CISC模型机数据通路框图 CISC模型机数据通路框图如图1所示: 图1:CISC模型机数据通路框图 2.2地址转移逻辑电路及其逻辑表达式 地址转移逻辑电路的逻辑表达式如下: SE5=1 SE4=NOT((CF AND NOT ZF )A

MVC排球计分(四)——模型类设计

模型类 Total类: using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Web; namespace MvcVolleyball.Models { public class Total { public int ID { get; set; }//id public string teamA { get; set; }//主队名 pu

thinkphp的model模型的设计经验总结

关于模型:跟上篇文章thinkphp的目录结构设计经验总结写控制器一个道理:为了尽量避免改动到框架: 首先我们是要有一个BaseModel.class.php作为我们的基础model: 我会在BaseModel中定义增删改的方法如下: <?php namespace Common\Model; use Think\Model; /**  * 基础model  */ class BaseModel extends Model{     /**      * 添加数据      * @param  

三、类模型-应用设计原则和设计模式

精雕细琢,设计良好的类与类关系 [设计原则] 无论项目开发流程用哪种模式,瀑布.迭代.螺旋.敏捷等.只要是面向对象设计,都应该应用设计原则以提高设计质量 设计SOLID原则: 1.设计原则有什么用? 设计原则就像一把尺子,是衡量类设计的尺子.通过分析来判断设计的类是否符合设计原则的这5个标准,进而调整类的设计,达到设计良好的目的. 2.为什么要用设计原则来衡量类设计的好坏? 因为设计原则是为了保证类的可扩展性的,这也是面向对象设计的核心目的. POS机的例子: 我们经过分析后,发现交易类直接依赖

毕业设计(3)基于MicroPython的篮球计时计分器模型的设计与实现

前言 我们身边有不少人都喜欢看篮球比赛或者经常打篮球.说起篮球,肯定要提到NBA(美国职业篮球联赛),现在也正是NBA 18-19赛季常规赛的时候.最近3月5日,韦少22分帮助雷霆终结了四连败,哈登42分带领火箭取得五连胜,估计今年的常规赛MVP非哈登莫属了.当然,每个人心中都会有一个超级巨星,或乔丹.或科比.或艾费森(小编喜欢库里),可不管是谁,他们都会让我们更热爱篮球! 言归正传,今天呢,带大家做一个在NBA赛场上至关重要的设备,那就是篮球计时计分器. 完整源代码及文档可关注"MicroPy