标记:封装

访问修饰符

面向对象语言将程序划分为称为类的模块。每个类都包含由数据(字段)和方法组成的特性。(并不是所有的语言都使用这些术语,但它们会这样做。)对于哪些类可以访问类的特性,语言有各种各样的规则,这些规则通常基于应用于类的访问修饰符。

作者:马丁·福勒

五月十三日

阅读更多…

bliki

封装语言功能

设计的继承

在面向对象的圈子里,一个持续时间最长的争论是OpenInheritance和设计继承。设计继承的原则最好的总结是乔什•布洛赫:“设计和文件为继承或禁止它”。使用这种方法,您需要小心地决定哪些方法可以继承和密封其他人阻止他们被覆盖。

作者:马丁·福勒

十月六日

阅读更多…

bliki

封装API设计

嵌入的文件

最近我在服务器中流动JSON数据结构的情况越来越多。JSON文档可以直接持久化,也可以使用AggregateOrientedDatabase或者一个序列化LOB在关系数据库中。JSON文档还可以直接提供给web浏览器,或用于将数据传输到服务器端页面渲染器。当JSON以这种方式使用时,我听到有人说使用面向对象的语言是一种阻碍,因为JSON需要被转换成对象,然后再被呈现出来——这是对编程工作的浪费。我同意关于浪费的观点,但我认为这不是对象的问题,而是未能理解封装的问题。

作者:马丁·福勒

2013年6月4日

阅读更多…

bliki

noSQL封装对象协作设计

封装的集合

如果您了解面向对象设计,您很快就会了解封装数据的重要性。封装最简单的形式是使用访问器(获取和设置方法)或属性——如果您的语言支持的话。(有些人甚至在课堂上这样做-SelfEncapsulation

作者:马丁·福勒

阅读更多…

bliki

封装

作为对象的函数

在编程中,对象的基本概念是数据和行为的捆绑。这在编写一组相关函数时提供了一个公共数据上下文。它还提供了一个操作数据的接口,该接口允许对象控制对该数据的访问,从而很容易支持派生数据并防止对数据的无效修改。许多语言提供显式的语法来定义类,类充当对象的定义。但是,如果您有一种具有一级函数和闭包的语言,您可以使用这些构造来使用函数即对象模式(最初由Eugene Wallingford描述)创建对象。

作者:马丁·福勒

2月13日

阅读更多…

bliki

封装语言功能对象协作设计

Getter去污剂

当他们看到一个getter方法时,你可以通过他们左手边的嘴的抽搐来告诉他们,当他们的战斧被迅速地拉了一下,当另一个getter被无情地从一个类中砍了出来时,他们就会满意地哭起来,这个类立即在一种感激的狂喜中昏迷在有男子气概的getter Eradicator的脚边。

作者:马丁·福勒

二月二十二日

阅读更多…

bliki

封装API设计对象协作设计

可以观察到的状态

当人们说方法不会改变对象的可观察状态时,他们的意思是什么?

作者:马丁·福勒

一月五日

阅读更多…

bliki

封装

开放的继承

这是相反的态度DesignedInheritance.开放继承的倡导者并不打算禁止通过密封删除他们的类或者做任何其他事情来阻止人们继承类。

作者:马丁·福勒

阅读更多…

bliki

封装API设计

页面对象

当您针对web页面编写测试时,您需要引用该web页面中的元素,以便单击链接并确定显示的内容。但是,如果您编写直接操作HTML元素的测试,那么您的测试将容易受到UI更改的影响。页面对象使用特定于应用程序的API包装HTML页面或片段,允许您在不深入HTML的情况下操作页面元素。

作者:马丁·福勒

2013年9月10日

阅读更多…

bliki

测试封装web开发

表示域数据层

将信息丰富的程序模块化的最常用方法之一是将其分为三个广泛的层:表示(UI)、域逻辑(又名业务逻辑)和数据访问。因此,您经常看到web应用程序分为web层(了解如何处理HTTP请求和呈现HTML)、业务逻辑层(包含验证和计算)和数据访问层(整理如何管理数据库或远程服务中的持久数据)。

受保护的数据

在我的类中使用数据是好的OO设计吗受保护的AccessModifier吗?

作者:马丁·福勒

五月十四日

阅读更多…

bliki

封装语言功能

公共农地

当我第一次接触c#时,我从一开始就喜欢上了属性的概念。c++ /Java的getX和setX约定对我来说总是很傻,写起来更自然obj。X= other.X.使用get和set方法提供属性,将公共约定转变为语言自然支持的特性。

作者:马丁·福勒

二月四日

阅读更多…

bliki

封装语言功能

发布接口

发布接口是我使用的一个术语(第一次在华体会app下载二维码)来引用在定义它的代码基之外使用的类接口。因此,它比Java中的public更有意义,甚至比c#中的非内部public更有意义。在我为IEEE Software撰写的专栏中,我提出了这个观点公开与公开的区别实际上比公开与私人的区别更重要。

密封

密封方法或类可以防止子类重写它。

作者:马丁·福勒

阅读更多…

bliki

封装API设计

自我封装

数据封装是面向对象风格的核心原则。这意味着对象的字段不应该公开,相反,来自对象外部的所有访问都应该通过访问方法(getter和setter)进行。有些语言允许公开访问字段,但我们通常提醒程序员不要这样做。Self-encapsulation更进一步,表明所有内部对数据字段的访问也应该通过访问器方法进行。只有访问器方法应该触及数据值本身。如果数据字段没有对外公开,这将意味着添加额外的私有访问器。

作者:马丁·福勒

3月9日

阅读更多…

bliki

封装

软件组件

从我进入我们的行业开始,将软件开发从费力地编写华体会登录网址代码转变为通过简单的组件组装来构建强大的系统的概念就一直是我的目标。它的目标有时被瞥见,但从未真正实现——尽管许多技术都有工业重用的诱惑。

告诉不要问

告诉-不要问是一个帮助人们记住面向对象是关于将数据与操作该数据的函数捆绑在一起的原则。它提醒我们,我们不应该向对象请求数据并对该数据进行操作,而是应该告诉对象该做什么。这鼓励将行为移动到对象中以配合数据。

作者:马丁·福勒

2013年9月5日

阅读更多…

bliki

封装API设计对象协作设计

统一访问原则

一个模块提供的所有服务都应该通过统一的符号可用,这种符号不会泄露它们是通过存储还是通过计算实现的。

——伯特兰·迈耶

伯特兰·迈耶在他那本影响深远的书中提出了这一原则面向对象软件构建

该原则的要点是,如果您有一个person对象,并且您要求它提供它的年龄,那么无论年龄是对象的存储字段还是计算值,都应该使用相同的符号。它有效地意味着人的客户端既不知道也不关心年龄是存储还是计算的。

作者:马丁·福勒

2011年4月20日

阅读更多…

bliki

封装语言功能API设计对象协作设计


所有标签

API设计·敏捷·采用敏捷·分析模式·应用程序体系结构华体会体育网页版入口·应用程序集成·不好的事情·棋盘游戏·构建脚本·认证·协作·计算机历史·小组会议·会议·持续交付·新型冠状病毒肺炎·数据分析·数据库·设计·字典·分布式计算杂志·娱乐·多样性·文档·领域驱动设计·领域特定语言·国内·封装·企业架构华体会体育网页版入口·估计·事件的架构华体会体育网页版入口·进化型设计·经验报告·旁白的架构华体会体育网页版入口·极限编程·前端·小工具·ieeeSoftware·infodecks·网络文化·面试·语言功能·语言工作台·精益·传统康复·法律·指标·microservices·移动·noSQL·对象协作设计·解析器生成器·摄影·平台·播客·受欢迎的·演讲技巧·隐私·过程理论·生产力·编程环境·编程风格·项目计划·招聘·华体会app下载二维码·华体会app下载二维码重构的边界·需求分析·ruby·安全·演讲视频·团队环境中·团队组织·技术债务·技术领导·测试类别·测试·thoughtworks·工具·旅行·uml·版本控制·web开发·web服务·网站·写作

2022·2021·2020·2019·2018·2017·2016·2015·2014·2013·2012·2011·2010·2009·2008·2007·2006·2005·2004·2003·2002·2001·2000·1999·1998·1997·1996

所有的内容

Baidu
map